svn commit: r214802 - in vendor/bind9/dist-9.4: . bin/named doc/arm doc/draft doc/rfc lib/dns lib/dns/include/dns

Doug Barton dougb at FreeBSD.org
Thu Nov 4 19:18:33 UTC 2010


Author: dougb
Date: Thu Nov  4 19:18:32 2010
New Revision: 214802
URL: http://svn.freebsd.org/changeset/base/214802

Log:
  Vendor import of BIND 9.4-ESV-R3

Added:
  vendor/bind9/dist-9.4/doc/draft/draft-ietf-behave-dns64-10.txt   (contents, props changed)
  vendor/bind9/dist-9.4/doc/draft/draft-ietf-dnsext-dnssec-registry-fixes-06.txt   (contents, props changed)
  vendor/bind9/dist-9.4/doc/draft/draft-ietf-dnsop-dnssec-key-timing-00.txt   (contents, props changed)
  vendor/bind9/dist-9.4/doc/draft/draft-mekking-dnsop-auto-cpsync-00.txt   (contents, props changed)
  vendor/bind9/dist-9.4/doc/draft/draft-yao-dnsext-bname-04.txt   (contents, props changed)
  vendor/bind9/dist-9.4/doc/rfc/rfc5933.txt   (contents, props changed)
Deleted:
  vendor/bind9/dist-9.4/doc/draft/draft-ietf-behave-dns64-09.txt
  vendor/bind9/dist-9.4/doc/draft/draft-ietf-dnsext-dnssec-gost-07.txt
Modified:
  vendor/bind9/dist-9.4/CHANGES
  vendor/bind9/dist-9.4/bin/named/query.c
  vendor/bind9/dist-9.4/doc/arm/isc-logo.eps
  vendor/bind9/dist-9.4/doc/arm/isc-logo.pdf
  vendor/bind9/dist-9.4/doc/rfc/index
  vendor/bind9/dist-9.4/lib/dns/api
  vendor/bind9/dist-9.4/lib/dns/include/dns/ncache.h
  vendor/bind9/dist-9.4/lib/dns/include/dns/types.h
  vendor/bind9/dist-9.4/lib/dns/ncache.c
  vendor/bind9/dist-9.4/lib/dns/resolver.c
  vendor/bind9/dist-9.4/lib/dns/validator.c
  vendor/bind9/dist-9.4/version

Modified: vendor/bind9/dist-9.4/CHANGES
==============================================================================
--- vendor/bind9/dist-9.4/CHANGES	Thu Nov  4 19:07:52 2010	(r214801)
+++ vendor/bind9/dist-9.4/CHANGES	Thu Nov  4 19:18:32 2010	(r214802)
@@ -1,3 +1,32 @@
+	--- 9.4-ESV-R3 released ---
+
+2925.	[bug]		Named failed to accept uncachable negative responses
+			from insecure zones. [RT# 21555]
+
+2921.	[bug]		The resolver could attempt to destroy a fetch context
+			too soon.  [RT #19878]
+
+2904.   [bug]           When using DLV, sub-zones of the zones in the DLV,
+			could be incorrectly marked as insecure instead of
+			secure leading to negative proofs failing.  This was
+			a unintended outcome from change 2890. [RT# 21392]
+
+2900.	[bug]	 	The placeholder negative caching element was not
+			properly constructed triggering a INSIST in 
+			dns_ncache_towire(). [RT #21346]
+
+2890.	[bug]		Handle the introduction of new trusted-keys and
+			DS, DLV RRsets better. [RT #21097]
+
+2869.	[bug]		Fix arguments to dns_keytable_findnextkeynode() call.
+			[RT #20877]
+
+2678.	[func]		Treat DS queries as if "minimal-response yes;"
+			was set. [RT #20258]
+
+2427.	[func]		Treat DNSKEY queries as if "minimal-response yes;"
+			was set. [RT #18528]
+
 	--- 9.4-ESV-R2 released ---
 
 2876.	[bug]		Named could return SERVFAIL for negative responses

Modified: vendor/bind9/dist-9.4/bin/named/query.c
==============================================================================
--- vendor/bind9/dist-9.4/bin/named/query.c	Thu Nov  4 19:07:52 2010	(r214801)
+++ vendor/bind9/dist-9.4/bin/named/query.c	Thu Nov  4 19:18:32 2010	(r214802)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004-2009  Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2010  Internet Systems Consortium, Inc. ("ISC")
  * Copyright (C) 1999-2003  Internet Software Consortium.
  *
  * Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: query.c,v 1.257.18.53 2009/12/30 08:55:48 jinmei Exp $ */
+/* $Id: query.c,v 1.257.18.55 2010/07/03 23:45:26 tbox Exp $ */
 
 /*! \file */
 
@@ -4654,6 +4654,13 @@ ns_query_start(ns_client_t *client) {
 	}
 
 	/*
+	 * Turn on minimal response for DNSKEY and DS queries.
+	 */
+	if (qtype == dns_rdatatype_dnskey || qtype == dns_rdatatype_ds)
+		client->query.attributes |= (NS_QUERYATTR_NOAUTHORITY |
+					     NS_QUERYATTR_NOADDITIONAL);
+
+	/*
 	 * If the client has requested that DNSSEC checking be disabled,
 	 * allow lookups to return pending data and instruct the resolver
 	 * to return data before validation has completed.

Modified: vendor/bind9/dist-9.4/doc/arm/isc-logo.eps
==============================================================================
--- vendor/bind9/dist-9.4/doc/arm/isc-logo.eps	Thu Nov  4 19:07:52 2010	(r214801)
+++ vendor/bind9/dist-9.4/doc/arm/isc-logo.eps	Thu Nov  4 19:18:32 2010	(r214802)
@@ -1,255 +1,63 @@
 %!PS-Adobe-3.1 EPSF-3.0
-%%Title: Alternate-ISC-logo-v2.ai
-%%Creator: Adobe Illustrator(R) 11
-%%AI8_CreatorVersion: 11.0.0
-%AI9_PrintingDataBegin
-%%For: Douglas E. Appelt
-%%CreationDate: 10/22/04
-%%BoundingBox: 0 0 255 149
-%%HiResBoundingBox: 0 0 254.8672 148.7520
-%%CropBox: 0 0 254.8672 148.7520
+%ADO_DSC_Encoding: MacOS Roman
+%%Title: ISC_logo_only_RGB.eps
+%%Creator: Adobe Illustrator(R) 13.0
+%%For: Brian Reid
+%%CreationDate: 3/25/10
+%%BoundingBox: 0 0 118 46
+%%HiResBoundingBox: 0 0 117.9991 45.0176
+%%CropBox: 0 0 117.9991 45.0176
 %%LanguageLevel: 2
 %%DocumentData: Clean7Bit
+%ADOBeginClientInjection: DocumentHeader "AI11EPS"
+%%AI8_CreatorVersion: 13.0.2
%AI9_PrintingDataBegin
%ADO_BuildNumber: Adobe Illustrator(R) 13.0.2 x434 R agm 4.4379 ct 5.1039
%ADO_ContainsXMP: MainFirst
+%ADOEndClientInjection: DocumentHeader "AI11EPS"
 %%Pages: 1
-%%DocumentNeededResources:
-%%DocumentSuppliedResources: procset Adobe_AGM_Image (1.0 0)
-%%+ procset Adobe_CoolType_Utility_T42 (1.0 0)
-%%+ procset Adobe_CoolType_Utility_MAKEOCF (1.19 0)
-%%+ procset Adobe_CoolType_Core (2.23 0)
-%%+ procset Adobe_AGM_Core (2.0 0)
-%%+ procset Adobe_AGM_Utils (1.0 0)
-%%DocumentFonts:
-%%DocumentNeededFonts:
-%%DocumentNeededFeatures:
-%%DocumentSuppliedFeatures:
-%%DocumentProcessColors:  Cyan Magenta Yellow Black
-%%DocumentCustomColors: (PANTONE 1805 C)
-%%+ (PANTONE 871 C)
-%%+ (PANTONE 301 C)
-%%+ (PANTONE 7506 C)
-%%CMYKCustomColor: 0 0.9100 1 0.2300 (PANTONE 1805 C)
-%%+ 0.3569 0.3608 0.6353 0.1882 (PANTONE 871 C)
-%%+ 1 0.4500 0 0.1800 (PANTONE 301 C)
-%%+ 0 0.0500 0.1500 0 (PANTONE 7506 C)
-%%RGBCustomColor:
-%ADO_ContainsXMP: MainFirst
-%AI7_Thumbnail: 128 76 8
-%%BeginData: 10692 Hex Bytes
-%0000330000660000990000CC0033000033330033660033990033CC0033FF
-%0066000066330066660066990066CC0066FF009900009933009966009999
-%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
-%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
-%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
-%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
-%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
-%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
-%6666006666336666666666996666CC6666FF669900669933669966669999
-%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
-%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
-%9933009933339933669933999933CC9933FF996600996633996666996699
-%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
-%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
-%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
-%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
-%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
-%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
-%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
-%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
-%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
-%000011111111220000002200000022222222440000004400000044444444
-%550000005500000055555555770000007700000077777777880000008800
-%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
-%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
-%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
-%524C45FD1CF852FD63FFF820272726272727264B27272627272726272727
-%26272727264B20F827FD63FFF827FFFFFFCFFF84365AFFFFFFCFFFFFFFCF
-%FFFFFFCFFD04FFCAF852FD63FFF827CFCFCACFCA2F0607A8CFCACFCACFCA
-%CFCACFCACFCACFCACF7CF827FD63FFF800FFCFFFA8A8070D06A8CFFFCFFF
-%CFFFCFFFCFFFCFFFCFFFCFA7F852FD63FFF800077E2F0D060D060706537D
-%CF7D2FA8CFCACFCACFCACFCAFF7CF827FD63FFF8000D062F070D062F070D
-%062F2F0D062FCACFCFFFCFCFCFFFCFA1F852FD63FFF8050707062E517651
-%522807060706072ECFCACFCACFCACFCAFF7CF827FD63FFF8002F067C757B
-%757C757B512F072F2FFFCFCFCFFFCFFFCFFFCFA1F852FD63FFF805075251
-%75517551755175512F062FCACFCACFCACFCACFCAFF7CF827FD63FFF8F859
-%75765176757C517C757B2E2F07A8CFFFCFCFCFFFCFCFCFA1F852FD63FFF8
-%00517551757CCFCAA751755175060753CFCACFCACFCACFCACF7CF827FD63
-%FFF8F87C75757CFFCFFFCFA7517C752F072F59A8CFCFCFFFCFFFCFA7F852
-%FD04FFA87D527DA8FD5AFFF827757551A1CFCFCAFFA0755175280D060706
-%A8CFCFCACFCAFF7CF827FD05FF27F827FD5BFFF8F87C51767CFFCFFFCFA0
-%517C752F062F060D84FFCFFFCFFFCFA1F852FD05FF7DF87DFD5BFFF80552
-%7551757CC9A7A05175517606072F7E7DCFCACFC9CFCAFF6FF827FD05FF52
-%F852FD27FFA8FD33FFF80059757C7575517C517C517C2E2F06CFCFFFCFCF
-%9293CAFFCF6FF852FD05FF7DF87DFD04FFA8FD05FF7D7DA8FF527D7D7D52
-%7D52A8FFA8527D527DA8FF7D7D527D52FD05FFA8FD05FFA87D7DFFFFA852
-%7D527DA8FF527D7D7D527D52A8FD19FFF805075275755175517551752D0D
-%0653CFFFCFFFA78C6899939344F827FD05FF52F852FFFFFFA8F87DFD04FF
-%7D27FFA87D7DA8F827A87D7DFFA8F827A8527DFFA8F852A827F8A8FFFFFF
-%7DF8FD05FF2752FFFFA8F827A8527DA87D7DA8F827A87D7DFD19FFF8F82F
-%0752517C757B757C2E0D062FA8C999CFCFC28C928C8C8C6EF852FD05FF7D
-%F87DFD04FFF8F87DFFFFFF7D52FD05FFF852FD05FFF87DFD05FFF852FFFF
-%F852FFFFFF7DF8F8FD04FF7D52FFFFFFF87DFD07FFF852FD1CFFF8000607
-%062F2852282E060D0607067D928C9293688C6892688C44F827FD05FF52F8
-%52FFFFFFA85252F852FFFF7D27FD05FFF87DFD04FFA8F852FD05FFF852FF
-%FFF8A8FFFFFF7D5227F8A8FFFF527DFFFFA8F852FD07FFF87DFD1CFFF800
-%852F2F062F070D062F072F062F0D9A8C928C928C928C928C6EF852FD05FF
-%7DF87DFD04FF27FF52F852FF7D52FD05FFF852FD05FFF82752527DFFFFF8
-%52FF527DFD04FF527DFF27F8A8FF7D7DFFFFFFF82752527DFD04FFF852FD
-%1CFFF827CFCF7D2F060D062F2F7EA82F062F938C68928C8C68926E994AF8
-%27FD05FF52F852FFFFFFA827FFFF52F852A852FD05FFF87DFD04FFA8F852
-%FF7DA8FFFFF82752F8A8FD04FF7D52FFA827F8A87D7DFFFFA8F852FF7DA8
-%FD04FFF87DFD1CFFF827FFCFFFA80D062FA8CFCFCA927693928C928C9292
-%75517C7B51F852FD05FF7DF87DFFFFFFA827FFFFFF52F8F87DFD05FFF852
-%FD05FFF87DFD05FFF852FF52F8A8FFFFFF5252FFFFFF27F8277DFFFFFFF8
-%7DFD07FFF852FD1CFFF827CFCFCACF06062ECFCAFF928C688C6892688C6E
-%765175517C26F827FD05FF52F852FFFFFFA827FD04FF52F852FD05FFF852
-%FD04FFA8F852FFFFA8A8FFF87DFFFFF8F8A8FFFF5227FD04FF27F8A8FFFF
-%A8F852FFFFA8A8FFFFFFF852FD1CFFF827FFCFFFCF7E53A8CFFFCFC99292
-%8C928C92757C757C517C7551F852FD04FFA852F852A8FFFFA8F8A8FD04FF
-%527DFD04FF7DF827FD04FFA8F827525252FF7DF827FFFFFF2727A8FF5227
-%A8FD04FF52A8FFFFA8F827525252FFFFFF7DF827FD1CFFF827CFCFCACFCF
-%CFCAFD04CF93688C688C6F7651755175517C4BF827FD05FFA8FFA8FFFFFF
-%A8FFA8FD0BFFA8FFA8FFFFFFA8FFA8A8A8FFFFFFA8FFA8FFFFFFA8FFA8FF
-%A8FD09FFA8FFA8A8A8FD05FFA8FFA8FD1BFFF827FFCFCFCFFFCFCFCFFFCF
-%C38C928C8C6E7C7576517C75767551F852FD63FFF827CFCFCACFCACFCACF
-%92928C8C688C6875517551755175517526F827FD63FFF827FFCFFFCFFFCF
-%FFCA938C928C928C99517C757C517C757C7551F852FD63FFF827CFCFCACF
-%CACFCACFA093688C6892757551755175517551754BF827FD63FFF827FFCF
-%FFCFCFCFFFCFFF998C8C926E7C7576517C7576517CA7A1F852FD06FFA87D
-%527DA8FD58FFF827CFCFCACFCACFCAFFCF996892686F5175517551755175
-%7CFF7CF827FD05FF7D2752A82727A8FD57FFF827FFCFFFCFFFCFFFC2BB8C
-%928C8C6E7C757C517C757C51CFFFA1F852FD05FF2752FFFFFF52FD58FFF8
-%27CFCFCACFCACFCF99688C68928C6F5175517551755175CAFF7CF827FD04
-%FFA8F852FD5CFFF827FFCFCFCFFFCFFFA0998C928C926E7C517C7576517C
-%51CACFA1F852FD04FFA827F87DFFFFFFA8527DFD04FF527DFFFFA87D52A8
-%FF7D527D527D527D7DFF7D7D527D527DFFFFFFA8FD06FFA8FD04FFA87D7D
-%7DFD26FFF827CFCFCACFCACFCACFCF99688C6893517551755175517575FF
-%7CF827FD05FF52F8F852FFFFFF52F8A8FFFF7D27A8FF5252A8A852A852A8
-%7DF827A87D7DFFA8F852A87D52FFFFFFF8A8FD04FF5227FFFFFF7D27A8A8
-%52A8FD25FFF827FFCFFFCFFFCFFFCFFFA08C8C92927C517C757C517C7575
-%7C7CF852FD06FF52F8F852FFFFFF27F8FFFF52A8FFFFF87DFD07FFF87DFD
-%05FFF852FD06FFF827FD04FF2727FFFFFF2752FD29FFF827CFCFCACFCACF
-%CACFA799688C68927575517551755175517526F84BFD07FF52F8F87DFFFF
-%A8F87D7D52FFFFFFF8F87DFD05FFA8F852FD05FFF87DFD05FFA8F8F8A8FF
-%FF7DF8F8A8FFFF52F852A8FD27FFF827FFCFFFCFCFCFFFCF9368928C928C
-%995176517C7576517C7551F852FD08FF7DF8F8FFFFFF52F827FD05FFF8F8
-%27FD05FFF87DFD05FFF8277D527DFFFF7D52F852FFFF277DF8A8FFFFFF52
-%F8F87DFD26FFF827CFCFCACFCACFCAFF938C688C688C6875517551755175
-%517C26F827FD09FF27F8A8FFFFFFF852FD06FF52F827FFFFFFA8F852FD05
-%FFF852A8A87DFFFF527D7DF8FF7D52A8F87DFD04FF7DF8F8A8FD25FFF827
-%FFCFFFCFFFCFFFCFCFCFC98C928C92927C517C757C517C7551F852FD04FF
-%7DFD04FF7DF8FD04FFF852FD07FF7DF8A8FFFFFFF87DFD05FFF852FD05FF
-%52A8FF272752A8FFF87DFD06FFF8A8FD25FFF827CFCFCACFCACFCAFD04CF
-%99688C688C6E7651755175517C4BF827FD04FF5227FFFFA8F852FD04FFF8
-%7DFFFFFF7D7DFFFF7D27FD04FFF852FD05FFF852FFFFA8FFFF27A8FF7DF8
-%52FFFFF852FFA852FFFF7D27A8FD25FFF827FFCFCFCFFFCFCFCFFFCFCF92
-%928C928C926E7C517C75767551F852FD04FF7D272752277DFD04FF7DF827
-%FFFFFF7D27525227FD04FFA8F852A8FFFFFF7D2727525252FFA8F8A8FFFF
-%52FFFFFF2727A8FF275252527DFD26FFF827CFCFCACFCACFCACFCAFF998C
-%688C688C688C68755176517526F827FD07FFA8FD07FFA8FFA8FFFFFFA8A8
-%A8FD05FFA8FFA8FD05FFA8FFA8A8A8FFA8FFA8FD07FFA8FFFFFFA8A8FD28
-%FFF827FFCFFFCFFFCFFFCFFFCFCF92C29A928C928C928C99757C7551F852
-%FD63FFF827CFCFCACFCACFCACFCAFD04CFFF998C68928C8C6892689344F8
-%27FD63FFF827FFCFFFCFCFCFFFCFCFCFFFCFCFCFC98C928C928C928C928C
-%68F852FD63FFF827CFCFCACFCACFCAA8537ECACFCAFF938C6899688C688C
-%689244F827FD63FFF827FFCFFFCFFFCFA8072F07FFCFFFCFCF992F0D5992
-%928C928C68F852FD08FF7D7D527D52A8A8FD54FFF827CFCFCACFCACFA70D
-%060753A87DA8CA5A0607069368929AC244F827FD06FF7DF8527D7D7D52F8
-%27FD54FFF827FFCFCFCFFFCFCF2F2F070D062F072F062F07539993C2FFFF
-%76F852FD05FF7DF87DFD06FF27FD54FFF827CFCFCACFCACF7D0D060D0607
-%060D0607060753FFCACFCAFF76F827FD04FFA8F827FD07FFA8A8FD15FFA8
-%FD3DFFF827FFCFFFCFFF592F062F072F2852282F072F072F7DFFCFFFCFA7
-%F852FD04FF52F87DFD0CFFA87D7D7DFD05FFA8FD05FF7D7DA8FFFFA87D7D
-%7DFFFFFFA87D527D7DFD04FFA8527D527DA8FFFF7D527D527D527D7DFF7D
-%7D7DFFFFA8527DA8FFFFA8527DFFFFFFA8FD06FFA8FFFFF827CF5959CA53
-%07060D066F688C6892684B060D06077DCFCFCF7CF827FD04FF27F8A8FD0A
-%FFA82752A87D52F852FFFFA8F87DFD04FF7D27FFFF7D27A87D52FFFF5227
-%7DA87D27F8A8FFFFA8F827A827F8A8A852A87DF827A87D7DFFA8F852FFFF
-%A8F827FD04FF2727FFFFFFF8A8FD04FF5227FFFFF827A9062F070D062F28
-%928C928C928C928C92282F072F847E5953F852FD04FFF8F8A8FD0AFF2752
-%FD04FF7DF87DFFFFF8F852FFFFFF7D52FFFFF8A8FFFFA8FF7DF8A8FD04FF
-%27F8FFFFFFF87DFFFFF87DFD04FFF87DFD05FFF852FFFFFFF87DFD04FF27
-%52FFFFFFF827FD04FF2727FFFFF8272F07060D060D278C688C68928C8C68
-%8C688C060D0607060D06F827FFFFFFA827F87DFD09FF7DF8FD06FF27F8FF
-%A85252F852FFFF7D27FFFF27F87DFFFFFF2727FD05FF7DF852FFA8F852FF
-%A8F87DFFFFFFA8F852FD05FFF852FFFFA8F852FD04FF5252FFFFA8F8F8A8
-%FFFF7DF827A8FFF827FF2F2F070D06938C928CBCC9CFC9BB8C928C6F070D
-%062F0706F852FD04FF27F852FD09FF52F8FD06FF52F8FFFF27FF52F852FF
-%7D52FFFFA827F827A8FFF852FD06FFF852FFFFF852FF7D7DFD05FFF87DFD
-%05FFF852FFFFFFF87DFD04FF2752FFFF7D52F852FFFF277DF8A8FFF827CF
-%CF2F0D064C689268C2CFFFCFFFCFC2688C682E0607062F52F827FD04FF7D
-%F8F8A8FD08FF52F8A8FD05FF52F8FFA827FFFF52F852A852FD04FF7DF827
-%FF2727FD05FFA8F852FFA8F82752F8A8FD04FFA8F852FD05FFF852FFFFA8
-%F852FD04FF5252FFFF7D7D7DF8FF7D52A8F87DFFF827FFCF59062F6F8C8C
-%99CFFFCFFFCFFFCF938C8C4B2F0759CFA7F852FD05FF52F827FD06FF7DFF
-%A8F852FD05FFF852FFA827FFFFFF52F8F87DFD05FF7DF8FF52F8A8FD04FF
-%A8F8A8FFFFF87DFF52F8FD05FFF87DFD05FFF852FFFFFFF852FD04FF277D
-%FFFF27A8FF272752FFFFF87DFFF827CFCF2F070693688C99FFCACFCACFCA
-%FF998C686F060759CF7CF827FD05FFA852F8F87DFFFFFF5227FFFF52F87D
-%FFFFFF5227A8FFA827FD04FF52F852FF527DFFFF5227FFFFF827A8FFFFFF
-%2752FFFFFFF852FFFF27F8FFFFFFA8F852FD05FFF87DFFFFFF52F8A8FFFF
-%7D27A8FFFF27A8FF7DF852FFFFF827FFF827FFCF53062F6E928CC2FFFFCF
-%FFCFFFCFC28C926F2F077ECFA7F852FD07FFA8FD06277DFFFFFF7D27277D
-%527DFFFFFF7DF8A8FD04FF527DFFA827525252A8FFFFFF5227527D52A8FF
-%FFFFA8F852A8FFA82727A8FFA8F852A8FFFFFF7DF827FD04FF52277D5252
-%A8FFFFA8F8A8FFFF52FFFFFF2727A8F827CFCF2F07066F8C8C92FFCFCFCA
-%CFCFCF8C8C8C4B060D59CF7CF827FD0BFFA8FD09FFA8FD05FFA8FFA8FD09
-%FFA8A8FD07FFA8A8FD05FFA8FFA8FD05FFA8FFA8FFA8FD05FFA8FFA8FD05
-%FFA8FD05FFA8FFA8FD07FFA8FFF827AF2F2F070D4B928C8CA0FFCFFFCFFF
-%998C8C92280D067ECFA1F852FD63FFF8270707060D0607688C688C99C9CA
-%C9938C688C680D0607065A76F827FD63FFF8275A062F070D07528C928C92
-%8C928C928C928C2F070D062F072EF852FD63FFF84B842F597E0607064C8C
-%8C68928C8C688C6828060D0607060D52F827FD63FFF827FFCFCFCF7E060D
-%062F6F928C928C934B2F070D0684A85A59A1F852FD63FFF827CFCFCACFCA
-%590607060D06282728060D0607067ECACFCFCF7CF827FD63FFF827FFCFFF
-%CFFFCF59062F070D072F070D062F2FA8CFFFCFFFCFA7F852FD63FFF827CF
-%CFCACFCACF2F07060D0607060D06070653CFCFCACFCAFF7CF827FD63FFF8
-%27FFCFFFCFCFA82F070D59CFA8A8A859060D07FD04CFFFCFA1F852FD63FF
-%F827CFCFCACFCFA82F0D2FCFCACFCFCFA80D060DA8CFCACFCAFF7CF827FD
-%63FFF827FFCFFFCFFFCFFFA8FFCFFFCFFFCFFF7E7EA8FFCFFFCFFFFFA7F8
-%52FD63FFFD09F820FD07F820FD07F820F8F827FD63FF27F827F820F827F8
-%20F827F820F827F820F827F820F827F820F827F87CFDE2FFFF
-%%EndData
+%%DocumentNeededResources: 
+%%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0
+%%+ procset Adobe_CoolType_Utility_T42 1.0 0
+%%+ procset Adobe_CoolType_Utility_MAKEOCF 1.23 0
+%%+ procset Adobe_CoolType_Core 2.31 0
+%%+ procset Adobe_AGM_Core 2.0 0
+%%+ procset Adobe_AGM_Utils 1.0 0
+%%DocumentFonts: 
+%%DocumentNeededFonts: 
+%%DocumentNeededFeatures: 
+%%DocumentSuppliedFeatures: 
+%%DocumentCustomColors: 
+%%CMYKCustomColor: 
+%%RGBCustomColor: 
 %%EndComments
+                        
+                                                                                                                                                                                                                                                         
+                                                                                                                                                                                                                                                         
+                                                                                                                                                                                                                                                         
+                                                                                                                                                                                                                                                         
+                                                                                                                                                                                                                                                         
+                                                                                                                                                                                                                                                         
 %%BeginDefaults
 %%ViewingOrientation: 1 0 0 1
 %%EndDefaults
 %%BeginProlog
 %%BeginResource: procset Adobe_AGM_Utils 1.0 0
 %%Version: 1.0 0
-%%Copyright: Copyright (C) 2000-2003 Adobe Systems, Inc.  All Rights Reserved.
-systemdict /setpacking known
-{
-	currentpacking
-	true setpacking
-} if
-userdict /Adobe_AGM_Utils 68 dict dup begin put
+%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved.
+systemdict/setpacking known
+{currentpacking	true setpacking}if
+userdict/Adobe_AGM_Utils 73 dict dup begin put
 /bdf
-{
-	bind def
-} bind def
-/nd{
-	null def
-}bdf
+{bind def}bind def
+/nd{null def}bdf
 /xdf
-{
-	exch def
-}bdf
-/ldf
-{
-	load def
-}bdf
+{exch def}bdf
+/ldf 
+{load def}bdf
 /ddf
-{
-	put
-}bdf	
+{put}bdf	
 /xddf
-{
-	3 -1 roll put
-}bdf	
+{3 -1 roll put}bdf	
 /xpt
-{
-	exch put
-}bdf
+{exch put}bdf
 /ndf
 {
 	exch dup where{
@@ -266,54 +74,48 @@ userdict /Adobe_AGM_Utils 68 dict dup be
 		exch def
 	}ifelse
 }def
-/bdict
-{
-	mark
-}bdf
-/edict
-{
-	counttomark 2 idiv dup dict begin {def} repeat pop currentdict end
-}def
+/gx
+{get exec}bdf
 /ps_level
 	/languagelevel where{
-		pop systemdict /languagelevel get exec
+		pop systemdict/languagelevel gx
 	}{
 		1
 	}ifelse
 def
-/level2
+/level2 
 	ps_level 2 ge
 def
-/level3
+/level3 
 	ps_level 3 ge
 def
 /ps_version
-	{version cvr} stopped {
-		-1
-	}if
+	{version cvr}stopped{-1}if
 def
+/set_gvm
+{currentglobal exch setglobal}bdf
+/reset_gvm
+{setglobal}bdf
 /makereadonlyarray
 {
-	/packedarray where{
-		pop packedarray
+	/packedarray where{pop packedarray
 	}{
-		array astore readonly
-	}ifelse
+		array astore readonly}ifelse
 }bdf
 /map_reserved_ink_name
 {
-	dup type /stringtype eq{
-		dup /Red eq{
-			pop (_Red_)
+	dup type/stringtype eq{
+		dup/Red eq{
+			pop(_Red_)
 		}{
-			dup /Green eq{
-				pop (_Green_)
+			dup/Green eq{
+				pop(_Green_)
 			}{
-				dup /Blue eq{
-					pop (_Blue_)
+				dup/Blue eq{
+					pop(_Blue_)
 				}{
-					dup () cvn eq{
-						pop (Process)
+					dup()cvn eq{
+						pop(Process)
 					}if
 				}ifelse
 			}ifelse
@@ -329,20 +131,20 @@ def
 	/AGMUTIL_GSTATE_clr_comps 12 array def
 	mark currentcolor counttomark
 		{AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put
-		/AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def} repeat pop
+		/AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def}repeat pop
 	/AGMUTIL_GSTATE_fnt rootfont def
 	/AGMUTIL_GSTATE_lw currentlinewidth def
 	/AGMUTIL_GSTATE_lc currentlinecap def
 	/AGMUTIL_GSTATE_lj currentlinejoin def
 	/AGMUTIL_GSTATE_ml currentmiterlimit def
-	currentdash /AGMUTIL_GSTATE_do xdf /AGMUTIL_GSTATE_da xdf
+	currentdash/AGMUTIL_GSTATE_do xdf/AGMUTIL_GSTATE_da xdf
 	/AGMUTIL_GSTATE_sa currentstrokeadjust def
 	/AGMUTIL_GSTATE_clr_rnd currentcolorrendering def
 	/AGMUTIL_GSTATE_op currentoverprint def
 	/AGMUTIL_GSTATE_bg currentblackgeneration cvlit def
 	/AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def
-	currentcolortransfer cvlit /AGMUTIL_GSTATE_gy_xfer xdf cvlit /AGMUTIL_GSTATE_b_xfer xdf
-		cvlit /AGMUTIL_GSTATE_g_xfer xdf cvlit /AGMUTIL_GSTATE_r_xfer xdf
+	currentcolortransfer cvlit/AGMUTIL_GSTATE_gy_xfer xdf cvlit/AGMUTIL_GSTATE_b_xfer xdf
+		cvlit/AGMUTIL_GSTATE_g_xfer xdf cvlit/AGMUTIL_GSTATE_r_xfer xdf
 	/AGMUTIL_GSTATE_ht currenthalftone def
 	/AGMUTIL_GSTATE_flt currentflat def
 	end
@@ -351,8 +153,8 @@ def
 {
 	AGMUTIL_GSTATE begin
 	AGMUTIL_GSTATE_clr_spc setcolorspace
-	AGMUTIL_GSTATE_clr_indx {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get
-	/AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def} repeat setcolor
+	AGMUTIL_GSTATE_clr_indx{AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get
+	/AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def}repeat setcolor
 	AGMUTIL_GSTATE_fnt setfont
 	AGMUTIL_GSTATE_lw setlinewidth
 	AGMUTIL_GSTATE_lc setlinecap
@@ -366,15 +168,15 @@ def
 	AGMUTIL_GSTATE_ucr cvx setundercolorremoval
 	AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx
 		AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer
-	AGMUTIL_GSTATE_ht /HalftoneType get dup 9 eq exch 100 eq or
+	AGMUTIL_GSTATE_ht/HalftoneType get dup 9 eq exch 100 eq or
 		{
-		currenthalftone /HalftoneType get AGMUTIL_GSTATE_ht /HalftoneType get ne
+		currenthalftone/HalftoneType get AGMUTIL_GSTATE_ht/HalftoneType get ne
 			{
-			  mark AGMUTIL_GSTATE_ht {sethalftone} stopped cleartomark
-			} if
+			 mark AGMUTIL_GSTATE_ht{sethalftone}stopped cleartomark
+			}if
 		}{
 		AGMUTIL_GSTATE_ht sethalftone
-		} ifelse
+		}ifelse
 	AGMUTIL_GSTATE_flt setflat
 	end
 }def
@@ -397,31 +199,38 @@ def
 /AGMUTIL_dst64 64 string def
 /AGMUTIL_srcLen nd
 /AGMUTIL_ndx nd
-/agm_sethalftone
+/AGMUTIL_cpd nd
+/capture_cpd{
+	//Adobe_AGM_Utils/AGMUTIL_cpd currentpagedevice ddf
+}def
+/thold_halftone
 {
-	dup
-	begin
-		/_Data load
-		/Thresholds xdf
-	end
 	level3
-	{ sethalftone }{
-		dup /HalftoneType get 3 eq {
-			sethalftone
-		} {pop} ifelse
-	}ifelse
-} def
+		{sethalftone currenthalftone}
+		{
+			dup/HalftoneType get 3 eq
+			{
+				sethalftone currenthalftone
+			}{
+				begin
+				Width Height mul{
+					Thresholds read{pop}if
+				}repeat
+				end
+				currenthalftone
+			}ifelse
+		}ifelse
+}def 
 /rdcmntline
 {
 	currentfile AGMUTIL_str256 readline pop
-	(%) anchorsearch {pop} if
-} bdf
+	(%)anchorsearch{pop}if
+}bdf
 /filter_cmyk
 {	
-	dup type /filetype ne{
-		exch () /SubFileDecode filter
-	}
-	{
+	dup type/filetype ne{
+		exch()/SubFileDecode filter
+	}{
 		exch pop
 	}
 	ifelse
@@ -429,7 +238,7 @@ def
 	exch
 	{
 		AGMUTIL_src256 readstring pop
-		dup length /AGMUTIL_srcLen exch def
+		dup length/AGMUTIL_srcLen exch def
 		/AGMUTIL_ndx 0 def
 		AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{
 			1 index exch get
@@ -441,41 +250,41 @@ def
 	}
 	bind
 	/exec cvx
-	] cvx
-} bdf
+	]cvx
+}bdf
 /filter_indexed_devn
 {
 	cvi Names length mul names_index add Lookup exch get
-} bdf
+}bdf
 /filter_devn
 {	
 	4 dict begin
 	/srcStr xdf
 	/dstStr xdf
-	dup type /filetype ne{
-		0 () /SubFileDecode filter
+	dup type/filetype ne{
+		0()/SubFileDecode filter
 	}if
 	[
 	exch
 		[
-			/devicen_colorspace_dict /AGMCORE_gget cvx /begin cvx
-			currentdict /srcStr get /readstring cvx /pop cvx
-			/dup cvx /length cvx 0 /gt cvx [
-				Adobe_AGM_Utils /AGMUTIL_ndx 0 /ddf cvx
-				names_index Names length currentdict /srcStr get length 1 sub {
-					1 /index cvx /exch cvx /get cvx
-					currentdict /dstStr get /AGMUTIL_ndx /load cvx 3 -1 /roll cvx /put cvx
-					Adobe_AGM_Utils /AGMUTIL_ndx /AGMUTIL_ndx /load cvx 1 /add cvx /ddf cvx
-				} for
-				currentdict /dstStr get 0 /AGMUTIL_ndx /load cvx /getinterval cvx
-			] cvx /if cvx
+			/devicen_colorspace_dict/AGMCORE_gget cvx/begin cvx
+			currentdict/srcStr get/readstring cvx/pop cvx
+			/dup cvx/length cvx 0/gt cvx[
+				Adobe_AGM_Utils/AGMUTIL_ndx 0/ddf cvx
+				names_index Names length currentdict/srcStr get length 1 sub{
+					1/index cvx/exch cvx/get cvx
+					currentdict/dstStr get/AGMUTIL_ndx/load cvx 3 -1/roll cvx/put cvx
+					Adobe_AGM_Utils/AGMUTIL_ndx/AGMUTIL_ndx/load cvx 1/add cvx/ddf cvx
+				}for
+				currentdict/dstStr get 0/AGMUTIL_ndx/load cvx/getinterval cvx
+			]cvx/if cvx
 			/end cvx
-		] cvx
+		]cvx
 		bind
 		/exec cvx
-	] cvx
+	]cvx
 	end
-} bdf
+}bdf
 /AGMUTIL_imagefile nd
 /read_image_file
 {
@@ -484,177 +293,195 @@ def
 	/imageDict xdf
 	/imbufLen Width BitsPerComponent mul 7 add 8 idiv def
 	/imbufIdx 0 def
-	/origDataSource imageDict /DataSource get def
-	/origMultipleDataSources imageDict /MultipleDataSources get def
-	/origDecode imageDict /Decode get def
-	/dstDataStr imageDict /Width get colorSpaceElemCnt mul string def
-	/srcDataStrs [ imageDict begin
-		currentdict /MultipleDataSources known {MultipleDataSources {DataSource length}{1}ifelse}{1} ifelse
-		{
-			Width Decode length 2 div mul cvi string
-		} repeat
-		end ] def
-	imageDict /MultipleDataSources known {MultipleDataSources}{false} ifelse
+	/origDataSource imageDict/DataSource get def
+	/origMultipleDataSources imageDict/MultipleDataSources get def
+	/origDecode imageDict/Decode get def
+	/dstDataStr imageDict/Width get colorSpaceElemCnt mul string def
+	imageDict/MultipleDataSources known{MultipleDataSources}{false}ifelse
 	{
-		/imbufCnt imageDict /DataSource get length def
+		/imbufCnt imageDict/DataSource get length def
 		/imbufs imbufCnt array def
-		0 1 imbufCnt 1 sub {
+		0 1 imbufCnt 1 sub{
 			/imbufIdx xdf
 			imbufs imbufIdx imbufLen string put
-			imageDict /DataSource get imbufIdx [ AGMUTIL_imagefile imbufs imbufIdx get /readstring cvx /pop cvx ] cvx put
-		} for
-		DeviceN_PS2 {
+			imageDict/DataSource get imbufIdx[AGMUTIL_imagefile imbufs imbufIdx get/readstring cvx/pop cvx]cvx put
+		}for
+		DeviceN_PS2{
 			imageDict begin
-		 	/DataSource [ DataSource /devn_sep_datasource cvx ] cvx def
+		 	/DataSource[DataSource/devn_sep_datasource cvx]cvx def
 			/MultipleDataSources false def
-			/Decode [0 1] def
+			/Decode[0 1]def
 			end
-		} if
+		}if
 	}{
 		/imbuf imbufLen string def
-		Indexed_DeviceN level3 not and DeviceN_NoneName or {
+		Indexed_DeviceN level3 not and DeviceN_NoneName or{
+			/srcDataStrs[imageDict begin
+				currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse
+				{
+					Width Decode length 2 div mul cvi string
+				}repeat
+				end]def		
 			imageDict begin
-		 	/DataSource [AGMUTIL_imagefile Decode BitsPerComponent false 1 /filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource /exec cvx] cvx def
-			/Decode [0 1] def
+		 	/DataSource[AGMUTIL_imagefile Decode BitsPerComponent false 1/filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource/exec cvx]cvx def
+			/Decode[0 1]def
 			end
 		}{
-			imageDict /DataSource {AGMUTIL_imagefile imbuf readstring pop} put
-		} ifelse
-	} ifelse
+			imageDict/DataSource[1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx/pop cvx names_index/get cvx/put cvx]cvx put
+			imageDict/Decode[0 1]put
+		}ifelse
+	}ifelse
 	imageDict exch
 	load exec
-	imageDict /DataSource origDataSource put
-	imageDict /MultipleDataSources origMultipleDataSources put
-	imageDict /Decode origDecode put	
+	imageDict/DataSource origDataSource put
+	imageDict/MultipleDataSources origMultipleDataSources put
+	imageDict/Decode origDecode put	
 	end
-} bdf
+}bdf
 /write_image_file
 {
 	begin
-	{ (AGMUTIL_imagefile) (w+) file } stopped{
+	{(AGMUTIL_imagefile)(w+)file}stopped{
 		false
 	}{
-		Adobe_AGM_Utils/AGMUTIL_imagefile xddf
+		Adobe_AGM_Utils/AGMUTIL_imagefile xddf 
 		2 dict begin
 		/imbufLen Width BitsPerComponent mul 7 add 8 idiv def
-		MultipleDataSources {DataSource 0 get}{DataSource}ifelse type /filetype eq {
+		MultipleDataSources{DataSource 0 get}{DataSource}ifelse type/filetype eq{
 			/imbuf imbufLen string def
 		}if
-		1 1 Height {
+		1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{
 			pop
-			MultipleDataSources {
-			 	0 1 DataSource length 1 sub {
+			MultipleDataSources{
+			 	0 1 DataSource length 1 sub{
 					DataSource type dup
-					/arraytype eq {
-						pop DataSource exch get exec
+					/arraytype eq{
+						pop DataSource exch gx
 					}{
-						/filetype eq {
+						/filetype eq{
 							DataSource exch get imbuf readstring pop
 						}{
 							DataSource exch get
-						} ifelse
-					} ifelse
+						}ifelse
+					}ifelse
 					AGMUTIL_imagefile exch writestring
-				} for
+				}for
 			}{
 				DataSource type dup
-				/arraytype eq {
+				/arraytype eq{
 					pop DataSource exec
 				}{
-					/filetype eq {
+					/filetype eq{
 						DataSource imbuf readstring pop
 					}{
 						DataSource
-					} ifelse
-				} ifelse
+					}ifelse
+				}ifelse
 				AGMUTIL_imagefile exch writestring
-			} ifelse
+			}ifelse
 		}for
 		end
 		true
 	}ifelse
 	end
-} bdf
+}bdf
 /close_image_file
 {
-	AGMUTIL_imagefile closefile (AGMUTIL_imagefile) deletefile
+	AGMUTIL_imagefile closefile(AGMUTIL_imagefile)deletefile
 }def
-statusdict /product known userdict /AGMP_current_show known not and{
-	/pstr statusdict /product get def
-	pstr (HP LaserJet 2200) eq 	
-	pstr (HP LaserJet 4000 Series) eq or
-	pstr (HP LaserJet 4050 Series ) eq or
-	pstr (HP LaserJet 8000 Series) eq or
-	pstr (HP LaserJet 8100 Series) eq or
-	pstr (HP LaserJet 8150 Series) eq or
-	pstr (HP LaserJet 5000 Series) eq or
-	pstr (HP LaserJet 5100 Series) eq or
-	pstr (HP Color LaserJet 4500) eq or
-	pstr (HP Color LaserJet 4600) eq or
-	pstr (HP LaserJet 5Si) eq or
-	pstr (HP LaserJet 1200 Series) eq or
-	pstr (HP LaserJet 1300 Series) eq or
-	pstr (HP LaserJet 4100 Series) eq or
-	{
- 		userdict /AGMP_current_show /show load put
-		userdict /show {
-		  currentcolorspace 0 get
-		  /Pattern eq
-		  {false charpath f}
-		  {AGMP_current_show} ifelse
-		} put
+statusdict/product known userdict/AGMP_current_show known not and{
+	/pstr statusdict/product get def
+	pstr(HP LaserJet 2200)eq 	
+	pstr(HP LaserJet 4000 Series)eq or
+	pstr(HP LaserJet 4050 Series )eq or
+	pstr(HP LaserJet 8000 Series)eq or
+	pstr(HP LaserJet 8100 Series)eq or
+	pstr(HP LaserJet 8150 Series)eq or
+	pstr(HP LaserJet 5000 Series)eq or
+	pstr(HP LaserJet 5100 Series)eq or
+	pstr(HP Color LaserJet 4500)eq or
+	pstr(HP Color LaserJet 4600)eq or
+	pstr(HP LaserJet 5Si)eq or
+	pstr(HP LaserJet 1200 Series)eq or
+	pstr(HP LaserJet 1300 Series)eq or
+	pstr(HP LaserJet 4100 Series)eq or 
+	{
+ 		userdict/AGMP_current_show/show load put
+		userdict/show{
+		 currentcolorspace 0 get
+		 /Pattern eq
+		 {false charpath f}
+		 {AGMP_current_show}ifelse
+		}put
 	}if
-	currentdict /pstr undef
-} if
+	currentdict/pstr undef
+}if
 /consumeimagedata
 {
 	begin
-	currentdict /MultipleDataSources known not
-		{/MultipleDataSources false def} if
+	AGMIMG_init_common
+	currentdict/MultipleDataSources known not
+		{/MultipleDataSources false def}if
 	MultipleDataSources
 		{
-		1 dict begin
-		/flushbuffer Width cvi string def
-		1 1 Height cvi
+		DataSource 0 get type
+		dup/filetype eq
 			{
-			pop
-			0 1 DataSource length 1 sub
+			1 dict begin
+			/flushbuffer Width cvi string def
+			1 1 Height cvi
 				{
-				DataSource exch get
-				dup type dup
-				/filetype eq
-					{
-					exch flushbuffer readstring pop pop
-					}if
-				/arraytype eq
+				pop
+				0 1 DataSource length 1 sub
 					{
-					exec pop
-					}if
+					DataSource exch get
+					flushbuffer readstring pop pop
+					}for
 				}for
-			}for
-		end
+			end
+			}if
+		dup/arraytype eq exch/packedarraytype eq or DataSource 0 get xcheck and
+			{
+			Width Height mul cvi
+				{
+				0 1 DataSource length 1 sub
+					{dup DataSource exch gx length exch 0 ne{pop}if}for
+				dup 0 eq
+					{pop exit}if
+				sub dup 0 le
+					{exit}if
+				}loop
+			pop
+			}if		
 		}
 		{
-		/DataSource load type dup
-		/filetype eq
+		/DataSource load type 
+		dup/filetype eq
 			{
 			1 dict begin
-			/flushbuffer Width Decode length 2 div mul cvi string def
-			1 1 Height { pop DataSource flushbuffer readstring pop pop} for
+			/flushbuffer Width Decode length 2 idiv mul cvi string def
+			1 1 Height{pop DataSource flushbuffer readstring pop pop}for
 			end
 			}if
-		/arraytype eq
+		dup/arraytype eq exch/packedarraytype eq or/DataSource load xcheck and
 			{
-			1 1 Height { pop DataSource pop } for
+				Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul
+					{
+					DataSource length dup 0 eq
+						{pop exit}if
+					sub dup 0 le
+						{exit}if
+					}loop
+				pop
 			}if
 		}ifelse
 	end
 }bdf
 /addprocs
 {
-	  2{/exec load}repeat
-	  3 1 roll
-	  [ 5 1 roll ] bind cvx
+	 2{/exec load}repeat
+	 3 1 roll
+	 [5 1 roll]bind cvx
 }def
 /modify_halftone_xfer
 {
@@ -666,16 +493,16 @@ statusdict /product known userdict /AGMP
 		}{
 			currenttransfer
 		}ifelse
-		 addprocs /TransferFunction xdf
+		 addprocs/TransferFunction xdf 
 		 currentdict end def
 		currentdict end sethalftone
 	}{
 		currentdict/TransferFunction known{
-			/TransferFunction load
+			/TransferFunction load 
 		}{
 			currenttransfer
 		}ifelse
-		addprocs /TransferFunction xdf
+		addprocs/TransferFunction xdf
 		currentdict end sethalftone		
 		pop
 	}ifelse
@@ -684,122 +511,141 @@ statusdict /product known userdict /AGMP
 {
 	dup xcheck exch
 	dup length array exch
-	Adobe_AGM_Core/AGMCORE_tmp -1 ddf
+	Adobe_AGM_Core/AGMCORE_tmp -1 ddf 
 	{
-	Adobe_AGM_Core/AGMCORE_tmp AGMCORE_tmp 1 add ddf
-	dup type /dicttype eq
+	Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf 
+	dup type/dicttype eq
 		{
-			AGMCORE_tmp
+			Adobe_AGM_Core/AGMCORE_tmp get
 			exch
 			clonedict
-			Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf
-		} if
-	dup type /arraytype eq
+			Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf 
+		}if
+	dup type/arraytype eq
 		{
-			AGMCORE_tmp exch
+			Adobe_AGM_Core/AGMCORE_tmp get exch
 			clonearray
-			Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf
-		} if
+			Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf 
+		}if
 	exch dup
-	AGMCORE_tmp 4 -1 roll put
+	Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put
 	}forall
-	exch {cvx} if
+	exch{cvx}if
 }bdf
 /clonedict
 {
 	dup length dict
 	begin
-		{
-		dup type /dicttype eq
-			{
-				clonedict
-			} if
-		dup type /arraytype eq
-			{
-				clonearray
-			} if
+	{
+		dup type/dicttype eq
+			{clonedict}if
+		dup type/arraytype eq

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-all mailing list