2amfGpam.libGpswpdpddCURRENTGPSVERSNPLM86 V2.3071487 19:44:3<STACKMEMORYCODEDATACONSTCURRENTGPSVERSION_CODEDGROUPqh@EHH	TD
KCURRENTGPSVERSIONQUERYREQUESTINFOeDIU9PFPPFF^=uFt^F]eV(t$
GETDEFAULTPTRPLM86 V2.3071487 19:44:58STACKMEMORYCODEDATACONSTGETDEFAULTPTR_CODEDGROUPh@H$H	TD
K4GETAPPLDEFAULTPRINTERGETGPSDEFAULTPRINTERB	CLOSEFILEGETPASCBOPENFILEULCMPBLOOKUPFIELDLOOKUPRESEThD[sys]<sys>	
.user^DefaultPrinterGps GPSIUF
sFtPvFPF	u|

F^O@twA^9L0	Y^G@F^v8
FFNQ^SPFPPmPF	tNNrFt?uNN'^NwLFVvzFFOOrxPFv^Sv
PQPFP^Sv^SPF	u*F9FuPQNQPuONOvFF]97VCV*9VVVV3*U^Sv^S^Sv P]\t<
GPAMBEGINPAGEPLM86 V2.3071487 19:45:14STACKMEMORYCODEDATACONSTBEGINPAGE_CODEDGROUP2h@^HH	TD
K
GPAMBEGINPAGEH
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER
SBFROMWORDDbUQQ^SPF	u}2vFp^?v
tFq^v
vFZ^v
vFC^v
vF,^ v
 vF^vvF^vNFYF;v;vH
 ^u^P^}^zF^S}PF	u'^SPPFPF	u^F]
'VV
V4BVtT
GPAMBOLDPLM86 V2.3071487 19:45:3STACKMEMORYCODEDATACONST	BOLD_CODEDGROUPh@<HH	TD
K
GPAMBEGINBOLDGPAMENDBOLDj<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DnUQQ^SPF	uH^SPF	u3^SPPFPF	u	^F]VV06?MVnjUQQ^SPF	uH^SPF	u3^SPPFPF	u	^F]JVV06?MVtl		GPAMBOUNDPLM86 V2.3071487 19:46:04STACKMEMORYCODEDATACONSTGPAMBOUND_CODEDGROUPh@4HH	TD
KGPAMBEGINBOUNDGPAMENDBOUND9<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DUQQ^SPF	u]^SPF	uHv
vF^SP	PFPFF]
VV06:HYaoVaUQQ^SPF	u;^x
SPF	u^SPPFPFF]VV06?MVt	GPAMCLOSEPLM86 V2.3071487 19:46:20STACKMEMORYCODEDATACONST
CLOSE_CODEDGROUPFh@HHTD
K	GPAMCLOSEMCLOSEBYTESTREAM
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFERDU^SP	u^8GtA8Gt;^SP	u:^SPPP>u
^S]6V2V7?ENW\VaepVuxKtGPAMGRCLRTABLEPLM86 V2.3071487 19:46:49STACKMEMORYCODEDATACONSTGPAMGRCLRTABLE_CODEDGROUPh@\HH	T,D
KGPAMGRCOLORTABLEIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERDU^SPF	u+FV;r
1	tFFv$FFPPPF_SFF@SFFFPPPFP^PP^SPFPFPF	ux
FF^vP^PPF;FsNdr4^SPFPFPF	uF;FsFFFu	^F]7VR[VVVVVVtGPAMGRFILLCOLORPLM86 V2.3071487 19:46:56STACKMEMORYCODEDATACONSTGRFILLCOLOR_CODEDGROUPqh@lHHTD
KGPAMGRFILLCOLORIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERDSpU^SP	uNPPPFPPP^SPPP	u	^].VV09VCLQVVftGPAMGRGRAPHICSPLM86 V2.3071487 19:47:25STACKMEMORYCODEDATACONSTGRGRAPHICS_CODEDGROUPh@HHhTD
KRGBGPAMGRCTBUFFERTGPAMGRBEGINGRAPHICSGPAMGRENDGRAPHICSM
WRITEBSRECORDINITIALCHECKCHECKSEQFITGPAMWRITERECORDRGBGPAMCTBUFFERD  @6U^SP	us^SP	u^
v
vF^SP	PP	u^^]
>VV.48FW_hmVrU^SP	uo^uSPPP	uH^SP	u3^SPPP	u	^]9V.3V8HVMU[dmrVwt
GPAMGRHATCHIXPLM86 V2.3071487 19:47:48STACKMEMORYCODEDATACONSTGPAMGRHATCHIX_CODEDGROUPh@pHH	TD
KGPAMGRHATCHINDEXIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERDR$tUQQ^SPF	uNPPPFPPP^SPPFPF	u	^F]V(V2;VESVtGPAMGRINTSTYLEPLM86 V2.3071487 19:47:59STACKMEMORYCODEDATACONSTGPAMGRINTSTYLE_CODEDGROUPph@HHTD
KGPAMGRINTERIORSTYLEIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERDRbXUU^
SP	ulPPPFPPPuPPP^
SPPP	u	^
]>VV09VDI'NWVajoVtt)GPAMGRLINECOLORPLM86 V2.3071487 19:48:16STACKMEMORYCODEDATACONSTGRLINECOLOR_CODEDGROUPph@lHHTD
KGPAMGRLINECOLORIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERDPpU^SP	uNPPPFPPP^SPPP	u	^].VV09VCLQVVft+GPAMGRLINETYPEPLM86 V2.3071487 19:48:45STACKMEMORYCODEDATACONSTGRLINETYPE_CODEDGROUPh@lHHTD
KGPAMGRLINETYPEIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERDBPpU^SP	uNPPPFPPP^SPPP	u	^].VV09VCLQVVft.
GPAMGRPOLYGONPLM86 V2.3071487 19:49:04STACKMEMORYCODEDATACONSTGRPOLYGON_CODEDGROUPh@.HHTD
K
GPAMGRPOLYGONgIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERD2U^SP	uF=w1	t	vF@FFPPP
F@FFFPPP^SPFPP	uxFF^vP^PPF;FsNd0r4^SPFPP	uF;FsFFF>u	^]
GVKTVmvVVVVt 2GPAMGRPOLYLINEPLM86 V2.3071487 19:49:25STACKMEMORYCODEDATACONSTGRPOLYLINE_CODEDGROUPh@.HHTD
KGPAMGRPOLYLINEIINITIALCHECKSWAPBYTESANDMOVEWORDGPAMWRITERECORDRGBGPAMGRCTBUFFERD2U^SP	uF=w1	t	vF?@FFPPP
F @FFFPPP^SPFPP	uxFF^vP^PPF;FsN,4dr4^SPFPP	uF;FsFFF>u	^]
XGVKTVmvVVVVt86GPAMINTERPRETERPLM86 V2.3071487 19:49:4C:STACKMEMORYCODEDATACONSTGPAMINTERPRETER_CODEDGROUPh@QHHT$D
KKICKOUT
3CHECKERCCLOSEBYTESTREAM
CSUBPARAMS	ERROREXITEXITOPENBYTESTREAMREADBSRECORDREADBYTERGPARAM
WRITEBSRECORD	WRITEBYTEDUMPBSVID{D.Missing Escape codeexecution terminated.Bad OpCodeexecution terminated.[Input is not a GPAM file.
DORevisD8ion No.   Length:  
BeginBold          
BeginOverstrike    
BeginPage          
BeginTransparent   
BeginUnderscore    
Close              
EndBold            
EndOverstrike      
EndTransparent     
EndUnderscore      
GrBeginGraphics    
GrEndGraphics      
LineFeed           
PlaceCharacter     
Reposition         
SetColor           
SetFont            
SetSLD             
SetTranslateTable  
SetVerticalOffset  
WriteRecord        
Open               
WhiteSpace         
WriteCharacter    P: 
{BeginBound         
EndBound           
BeginItalic        
EndItalic          
BeginRaster        
EndRaster          ],X
  bBypass =        
  bChar =          
  bSides =         
  fStagger =       
  wBinOut =        
  sbFormName =     
  fAlign =         
  bAspect =        
  sbPageNum =      
  sbMontage =      
  bQuality =       
  wPgLength =      
  wPgWidth =       
  fBold On =       
  fOverstrikeOn =  
    bBypass =      
    bChar =        
  fTransparentOn = 
  fUnders\<coreOn =  
    bBypass =      
    bUnderscore =  
  wColor =         
  sbFontName =     
    wWidth =       
    wHeight =      
  wSLDDistance =   
M+a  sbTrTableName =  
  intLevel =       @
  wWidth =         
  wHeight =        
  fClear =         ,
  bBypass =        
  bUnderscore =    L,
  wHorizontal =    
  wVertical =      b
  wColor =         @(
  sbFontName =     
  wWidth =         
  wHeight =        ,x
  bChar =          
  wPosition =      
  wSLh>DDistance =   
  sbTrTableName =  
  intLevel =       
  Data =           
  wWidth =         @
  wXLeft =         
  wXRight =        
  bJustify =       @@
  wWidth =         
  wHeight =        
  fClear =         ,|
  bChar =          
  wWidth =         V
UQ^S
PP^S
PP^S^SvFPP]
3
VV VV=V
CVHVPPPPPS6
SPrmPPPPPt@	tNPPPPVPS6
SPwmPPPPVPPPPP:tSPP
PPPSP
PPPSPPPPu5PPP	tSP
	tP>tSP*P
PPPPPPPP>rSPV	V(,9BVHVQVbgV	mVrxVV
B VV\VVV
V'0V5:?VDLQVWVVjoVuVzVV\VVVVP
S
PPS
PPSPQPP.
PPPPPvwSXPQPPSPPu1PPPPPw^SPQPP9uSPD6uPP)PPPvSPQPPtu
tuS\VV$V*V05?GLV
RVXa\gluzVVV
VVVV$V
*V38>DJNTWV\dinw|VVV
VP6'SPPPPtWPPPPPFwjSPQPP	t

tuSP6uPPPPPvSPQPP>u)>u)SPPPPSP6tcPPPPPv9SV'2V
8V=AEMR[VfVlrwV
VVHVV,27V
=VCJRX_eiouzV
VVVVPQPP>u
>u)SPPPPSP6toPPPPPv{SPQPPSPPu1.+(PPPPPvSPQPP>uJ$SP6uPPPPPvVSxPQ
V
V*07=AGMRV
XVeknVtVVV
VV
 VV.14@MSXV
^VdksyVVVPP>uSP6uPPPPPvSLPQPPSPPuwPPPPPSPPPPSPPPPPPPvS(PQPP>u)>uSPPPPSP6tibPPPPV
V)36V;?CKPY^VdVlorV
VVVVV
VNV*V5V=@CO\bgV
mVszV
VVz	PSPPPPSPPPP
PPPSPPPPSPPPPPPPPPSPPPPSPPYQQPPPS
PPSPPPPSPPS
PPSPPP'PPSP6PPS
PPSPPPPSVV
 V
V,1:VBGPUV[VafotV
zVV
VVVV
VVVV$V*V05>CV
IVOT]VckVqVw|V
VV
VVVV
VP6ROPPPPPSPPPPSPPPPPR(PPvS|PQPP>uSP6ugPPPPPvbSPQPP>uSP6tPPPPPvS@PQPP>u9V$V*V05>CV
IVOT]VejsxVVV
VVT)VV ,9?DV
JVPW_ekouxV}VVV
Vz
SP6utSVLOnqt		O

444,
45}z
 V(,07\9\;\=\?\A\C\E\G\I\K\M\O\Q\S\U\W\Y\[\]\_\a\c\e\g\i\k\m\o\q\p
XA$V*
GPAMINTOUTPUTPLM86 V2.3071487 19:50:21STACKMEMORYCODEDATACONSTOUTPUT_CODEDGROUPh@AHHTD
KDUMP)	WRITEBYTE
WRITEBSRECORDCHECKERCXD0123456789ABCDEFUFH;sv31	u^S
PP^S
PP^611^SPPPP^S PP^S PPt>]
G3V9VFVLVUgY+jy|VVVVVVt[,
GPAMITALICPLM86 V2.3071487 19:50:31STACKMEMORYCODEDATACONSTITALIC_CODEDGROUPh@<HH	TD
K'GPAMBEGINITALIC
GPAMENDITALICj<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DnUQQ^SPF	uH^SPF	u3^SPPFPF	u	^F]XVV06?MVnjUQQ^SPF	uH^SPF	u3^SP]PFPF	u	^F]VV06?MVt(_.GPAMLINEFEEDPLM86 V2.3071487 19:50:53STACKMEMORYCODEDATACONST
LINEFEED_CODEDGROUPzh@YHHTD
KGPAMLINEFEED<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?D]U^SP	u;^SP	u^SPPP]<,VV.4=FKVPSt4a
GPAMOPENPLM86 V2.3071487 19:51:1STACKMEMORYCODEDATACONST	OPEN_CODEDGROUPh@gHKH8TBD
KRGBGPAMCTBUFFERGPAMOPENeGETDATETIMEOPENBYTESTREAMRELEASEBYTESTREAM
WRITEBSRECORDTAGGPAMWRITESETGPSPARAMSPPLUS16RDUWDO23 chars for sbDocName.23 chars for sbDocName.23 chars for sbDocName.23 chars for sbDocName.23 chars for sbUserName7 chars>@c014 chars start14 chars start14 chars endlc14 chars endlc<sbFormNamesbsbPageNumsbPsbMontagesbMsbFontNamesbFontNamesbFontNamesbFontNamesbTranslateTIOD{U,s<vt^?\v]v^]v	
^ S^Sv^SvwmP^Sv	u^ G
:uGvvDG^ GFv^ G^ 'vNFYvNFPvSPv+NZ^FFFPPLe1:FFFr^u	P	u^ G
:uwPP	uM^ <z
^ SPPP5MvV{VV$*3V:FLRnv{VV	t^ SFV^ I^ ^ ^ G
:u vvG 	^ G ]1VV3Mr=tXg2GPAMOVERSTRIKEPLM86 V2.3071487 19:51:45STACKMEMORYCODEDATACONSTOVERSTRIKE_CODEDGROUPh@HHTD
KGPAMBEGINOVERSTRIKEGPAMENDOVERSTRIKE<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DU^
SP	ux^
SP	ucvUFF^
SPPP	u^
F^
F^
];VV4<BIOWdi3eVjjU^SP	uH^SP	u3^SPPP	u	^],VV.4=FKVPtpk4
GPAMPLACECHARPLM86 V2.3071487 19:52:08STACKMEMORYCODEDATACONSTGPAMPLACECHAR_CODEDGROUPh@mHHTD
KGPAMPLACECHARACTER,<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DqU^
SP	uO^
SP	u:
Fv^
SPPP])8VV.4;>QZ_Vdgt|m5
GPAMRASTERPLM86 V2.3071487 19:52:25STACKMEMORYCODEDATACONSTGPAMRASTER_CODEDGROUPh@4HH	TD
K'GPAMBEGINRASTER
GPAMENDRASTER<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DUQQ^SPF	u]^SPF	uHv
vF^SP	PFPFF]
VV06:HYaoVaUQQ^SPF	u;o6^SPF	u^SPPFPFF]VV06?MVtq7
GPAMRELEASEPLM86 V2.3071487 19:52:52STACKMEMORYCODEDATACONSTRELEASE_CODEDGROUPh@FHH	TD
KGPAMRELEASE+RELEASEBYTESTREAMINITIALCHECKDJUQFPF^Gu
^SF^F]	V,Vts8GPAMREPOSITIONPLM86 V2.3071487 19:53:15STACKMEMORYCODEDATACONSTREPOSITION_CODEDGROUPh@yHHTD
KGPAMREPOSITION<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?D}UF
P	uW^
SP	uBvv^
SPPP]8VV*28<J]fkVps;tu9GPAMSETCOLORPLM86 V2.3071487 19:53:33STACKMEMORYCODEDATACONST
SETCOLOR_CODEDGROUPKh@vHHTD
KGPAMSETCOLOR<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DzU^SP	uX^SP	uCv^SPPP	uF^]T2VV.48KTYV^p<tw:
GPAMSETFONTPLM86 V2.3071487 19:53:52STACKMEMORYCODEDATACONSTSETFONT_CODEDGROUPh@(HHTD
KGPAMSETFONT	<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DU^SP	u
(v	^S0P	u0v
vN
Fvv^SP1PP	u?^v
^vN
FYF^F^]y;GV0V5=CGUhvVt{<
GPAMSETSLDPLM86 V2.3071487 19:54:11STACKMEMORYCODEDATACONSTSETSLD_CODEDGROUPh@vHHTD
K
GPAMSETSLD_<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DzU^SP	uX^SP	uCv^SPPP	uF^]2VV.48KTYV^p<t}=GPAMSETTRANSLTPLM86 V2.3071487 19:54:39STACKMEMORYCODEDATACONSTGPAMSETTRANSLT_CODEDGROUPqh@cHHTD
KGPAMSETTRANSLATETABLE<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DU^SP	uv	^SP	ukFvF^SPPP	u)^v^vNFY]
;V0V5=CJ>MdmrVwBt?GPAMSETVOFFSETPLM86 V2.3071487 19:54:59STACKMEMORYCODEDATACONSTGPAMSETVOFFSET_CODEDGROUP|h@HHTD
KGPAMSETVERTICALOFFSET<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DU^SP	umF}X^SP	uCv^SPPP	uF^]I5V6V;CIMinVst@GPAMTRANSPARENTPLM86 V2.3071487 19:55:26STACKMEMORYCODEDATACONSTTRANSPARENT_CODEDGROUP^h@FHHTD
K1GPAMBEGINTRANSPARENTGPAMENDTRANSPARENTd<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DhU^SP	uF^SP	u1^SPPP	u	^]$,VV03;DIVN^jdU^SP	uH^SPA	u3^SPPP	u	^],VV.4=FKVPtBGPAMUNDERSCOREPLM86 V2.3071487 19:55:45STACKMEMORYCODEDATACONSTUNDERSCORE_CODEDGROUPh@HHTD
KGPAMBEGINUNDERSCOREGPAMENDUNDERSCORE<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DU^
SP	uF<r<vxvj^
SP	uUFF^
SPPP	u^
F^
F^
]>V$2BVGO$CU\bjsxV}3jU^SP	uH^SP	u3	^SPPP	u	^],VV.4=FKVPt0D	GPAMUTILSPLM86 V2.3071487 19:56:00STACKMEMORYCODEDATACONST
UTILS_CODEDGROUP+h@aHH	TD
KSPPLUS16
SBFROMWORDwINITIALCHECKCHECKSEQFITSWAPBYTESANDMOVEWORDQTAGGPAMWRITE
FLUSHBUFFERGPDU^v]}lUQuFsN
tHN
FN10V::rA*VF
F^FN1FFF
]SwUQ^GPPv
PP}F*^p}^Y*F<E^];UQF^ODtF^:FtFF]WXUQQFF@^OW+;r,G
:uSGxWRFPFF]	DVaQUQQFFN;rAI^0^9^YvVN^_V1^Z_9Fs]
;tHFGPAMWHITESPACEPLM86 V2.3071487 19:56:25STACKMEMORYCODEDATACONSTWHITESPACE_CODEDGROUPh@gHHTD
KGPAMWHITESPACE9<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DkU^SP	uI^SP	u4v^SPPP]2VV.48KTYV^aKtTG
GPAMWRITECHARPLM86 V2.3071487 19:56:44STACKMEMORYCODEDATACONSTWRITECHAR_CODEDGROUPh@qHH	T D
K
GPAMWRITECHAR<
WRITEBSRECORDINITIALCHECKCHECKSEQFITRGBGPAMCTBUFFER?DuUQQ^
SPF	uO^
SPF	u:Fv^
SPPFPFF]T)VV06=@SaVtHGPAMWRITERECORDPLM86 V2.3071487 19:57:1:STACKMEMORYCODEDATACONSTGPAMWRITERECORD_CODEDGROUP9h@|HH	T,D
KGPAMWRITERECORDU
WRITEBSRECORDTAGGPAMWRITEINITIALCHECKRGBGPAMCTBUFFER
FLUSHBUFFERGPPPLUS16DU
9F
vF
FPF=uFuY^^G
:tMF
SPPFPF	u^S^Sv
^SFF]^;F
su^GO+sSGlIxWQFPFu[F
^+^Ww+;v+VF
^+FF^SPPFPFu'^S^S^7SvFPFu	^FAVFQU[iVVV(6VTVcVtxJ	GpsRqLabl
CTAsm 11.0|??SEG??SEGSTACKSTACK	seg0F03CH	seg0F044H	seg0F04CH	seg0F054H	seg0F05CH	seg0F064H	seg0F06CH	seg0F074H	seg0F0B4Hht
<^
D
L^	

T
\^
d
l^
t
DeSpoolerCheckInAddGpsDeviceTSetGPSParamsZ
SetGPSDeviceParams$GetGPSStatus
GetGPSDocInfoAddQueueDeInstallSpooler	GetGPSDdDocInfoRGetGPSKNodeConfigSetSpoolerParamsZ	ReleaseGPSDeviceDriverZGetSpoolerVolStatusPDeleteSpoolerJob;	GetGPSDeviceDriverConfigVGetGPSDeviceDriverStatusXOpenSpoolerFileT	SetGPSNPMXMakeGpsLogEntry 	SetGPSDeviceDriverControl\SpoolGPSFile\QueueGPSFileT
RsUpLinkPollGetFontFamilyListDescribeGpsSpoolerGpsSpoolerPasswordRDeinstallFontServiceDeInstallGPSDeviceDriverLDeleteGPSJobZGetGPSDeviceConfigProvideGPSPasswordR 
SetGPSDeviceDriverRestartCleanSpoolerQueueWriteGPSFileR
RsUpLinkPickup,
GetGPSNetListIdentifyDeviceDriverCloseGPSFileVGetQMStatusWriteSpoolerData^GetFontDataGetSpoolerQueueEntryDeInstallQueueManagerGetFontDeviceListSetImageModeGPS^SetSpoolerImageModeX
RsUpLinkDeliverOpenGPSFileP
SetGPSRMestart\	GetGPSDDHistoryT
WriteGPSDeviceDataAcquireGPSDeviceDriver
SetGPSControlVGetGpsSplVolStatusDeInstallRoutingSwitchX
CleanQueueConfigureSpoolerDeviceRemoveQueueCloseSpoolerFile
DescribeGpsRS\	DeleteGpsDDJobPGetGpsDevHistory^	SetGPSDeviceDriverMode^AddSpoolerDeviceRemoveSpoolerDeviceVN
SamGenGpam
CTAsm 11.0*??SEG??SEGDATADATASAMGENCODEDGROUPhhh$SpSetImageModeBrntagTableXtagPtrWritepGetBsLfaAsynctagSplWrite?SetBsLfaStagGpamWriteTtagNul	sTagProcsV
fGpamBsDeftag8251WritetagLastSetImageModeGetBsLfa	
QueryBsVidpPrepReadMMDtagDiskReadX	tagSysOutz
QueryVidBsf
DiskBsOpentagPtr8251Write
pQueryVideoBs
tagCommModify*
tagKbdRead
tagVOideoWritebsKbdtagLptWrite
pPrepWriteMMDtagCommReadbsVid
deviceLasttag8251ReadtagSysIni	fSplBsDeftagCommWrite	SplBsOpen	OpenTable
fDiskBsDef
tagDiskModifytagDiskWritem
GpamBsOpenpSetBsLfaAsync
tag8251ModifyReleaseByteStreamLpt
CheckPointBsCOpenByteStreamGpSetImageModeIllegalOpenByteStreamCFlushBufferLptFlushBufferVidFillBufferNOpenByteStreamSysOutFlushBufIllegal
FlushBufferGpFlushBufferNFillBufIllegalReleaseEasyChePckPointBsLptSetImageModeLptCheckPointBsSysOut
FlushBufferADReleaseByteStreamCOpenByteStreamKReleaseByteStreamSplReleaseByteStreamADOpenByteStreamSplOpenByteStreamNCheckPointBsADOpenByteStreamADFillBufferSysInFillBufferCSetImageModeBrnFlushBufferSysOutQueryVideoBs
GetBsLfaAsyncFillBufferK
SetImageModeCOpenByteStreamVidReleaseByteStreamGpFlushBufferCFillBufferADOpenByteStreamLptOpenByteStreamSysInChkptNopCheckPointBsGpSetImageModeSpl
SetBsLfaAsyncQ[Kbd]	VV
[Vid]	VV[Lpt]	V'V'[Ptr]	VV([Nul][Comm]VVVV=[SysIn]	V(
V(I[SysOut]		V	V	Y	VV]	V
V
a	VVe	VV	i	VVn	V
V
*rIVVVVV
VVVVVVVVVVVVVVVVR
V
	V)V)VVVV	V
V
)VVV)V)V
VVVV
V
	VV	VV	VV
VVV
V
	VV	VV	VV		VV	VVVVV)V)V
VVVO	
SVVV
V
V
VVVVVV
V
VVVVVVV'V*V,V.V0V2V4V6V8V:V<V?V
AV
CVEVGVIVL	VV
PV+V+V
V
Y	VV]	V*V*
a
V$V$VVj)VVV
V
V)
V)VVV
V
	VVVVVV	VV
U].
AG	V V 
	U].T
AG	V,V,
U].
AG	VV
U].
AGNVVV
V
VVUVPWf8*2qxCItagLastMGetGPSDDHistoryIGPAMGRLINETYPE
tag8251ModifyMtagTableMGetGpsSplVolStatusI	fSplBsDefMtag8251ReadM
QueryVidBsMGPAMGRLINECOLOR	SetGPSNPMIGetSpoolerVolStatusIGPAMRELEASE6
DescribeGpsRSIDeInstallRoutingSwitchIQueueGPSFileIDeinstallFontServiceI
GPAMENDRASTER4	GPAMBOLDSamGenGpamMWJl\@2duPDeSpoolerCheckInItagSysInMSetSpoolerParamsIPPLUS16CGetGPSDeviceDriverStatusIGetGPSNodeConfigIGPAMOPEN.GPAMSETVERTICALOFFSET>AddGpsDeviceI
SetGPSRestartIpGetBsLfaAsyncMGPAMGRHATCHINDEXGetGPSDdDocInfoIpPrepReadMMDMDescribeGpsSpoolerI
GPAMSETSLD;
CleanQueueIGPAMRASTER4GPAMREPOSITION7GPAMWRITERECORDGGPAMSETTRANSLT< Xtm8 Ge|R]<	OpenTableM
GpamBsOpenMAddQueueItagLptWriteMGetGPSDeviceConfigIbsVidMProvideGPSPasswordIGPAMPLACECHARACTER3GPAMGRBEGINGRAPHICS
tagVideoWriteMWriteGPSFileICHECKSEQFITC
GetGPSDocInfoIGetQMStatusIGPAMWHITESPACEEGPAMGRCLRTABLEGPAMSETSLD;,Y{o^4PjC<tagCommWriteMGetFontDeviceListI
GetGPSNetListI
DiskBsOpenMSetImageModeMGetFontDataIAcquireGPSDeviceDriverIDeInstallGPSDeviceDriverIDeInstallQueueManagerIKICKOUTGPAMBEGINTRANSPARENT?tagPtr8251WriteMtagNulMRemoveQueueIMakeGpsLogEntryIGPAMGRPOLYLINE	GPAMOPEN.8Z^FNi2zTp'>GETAPPLDEFAULTPRINTERCloseGPSFileIGPAMENDTRANSPARENT?SWAPBYTESANDMOVEWORDC
pPrepWriteMMDM
GPAMBEGINBOLD	GPAMCLOSE
GetGpsDevHistoryIGPAMBEGINUNDERSCOREA
tagKbdReadMGPAMENDUNDERSCOREAGPAMENDOVERSTRIKE1
GPAMLINEFEEDD[T9|+@N^sf5IdentifyDeviceDriverIGPAMSETTRANSLATETABLE<DeInstallSpoolerIDUMP)
fGpamBsDefMGetGPSDeviceDriverConfigIGetBsLfaMGPAMGRENDGRAPHICSGPAMENDBOUNDConfigureSpoolerDeviceIGPAMGRFILLCOLOR
tagPtrWriteMCleanSpoolerQueueIWriteGPSDeviceDataICloseSpoolerFileIGetFontFamilyListI
GPAMBEGINPAGEGPAMITALIC+GPAMGRLINECOLORGPAMRELEASE6
GPAMSETCOLOR8P\.b4ZDJQpt<(CURRENTGPSVERSIONSetGPSDeviceParamsI	tagSysOutM	SplBsOpenMSpoolGPSFileI
tagDiskModifyM	sTagProcsMtagDiskReadMDeleteGpsDDJobIGPAMLINEFEEDSetGPSDeviceDriverRestartIbsKbdMAddSpoolerDeviceIpSetImageModeBrnM
GPAMWRITECHARFGPAMINTOUTPUT)GPAMSETVOFFSET>
GPAMBOUND
GPAMCLOSE
GPAMBEGINPAGE\]^Fp=fWO*w5SetGPSDeviceDriverControlIGPAMWHITESPACEERemoveSpoolerDeviceIINITIALCHECKCGPAMBEGINBOUNDRsUpLinkPickupIRsUpLinkPollIGPAMSETFONT9SetGPSParamsIGPAMINTERPRETER
GpsRqLablI
GPAMUTILSCGPAMSETFONT9CURRENTGPSVERSNh^jNUF]t5?.{SetImageModeGPSI
fDiskBsDefMGpsSpoolerPasswordItagSplWriteMGPAMGRCOLORTABLE
QueryBsVidMDeleteGPSJobItagCommReadM
tagCommModifyMReleaseGPSDeviceDriverIDeleteSpoolerJobIGPAMENDBOLDGPAMBEGINOVERSTRIKE1GPAMPLACECHAR3GPAMGRINTSTYLEt_4J;$Qi{^sD
SetGPSControlIGPAMGRPOLYLINEGPAMBEGINRASTER4OpenGPSFileI
deviceLastMRGBGPAMCTBUFFER.SetBsLfaM
SBFROMWORDCSetGPSDeviceDriverModeISetSpoolerImageModeIWriteSpoolerDataItagDiskWriteMGPAMBEGINITALIC+GPAMUNDERSCOREAGPAMGRLINETYPEGPAMGRPOLYGONGPAMOVERSTRIKE1GPAMTRANSPARENT?GPAMGRFILLCOLOR
GPAMWRITECHARFpS9gC$_KxtagGpamWriteMOpenSpoolerFileIRsUpLinkDeliverIGetSpoolerQueueEntryIRGBGPAMGRCTBUFFERGetGPSStatusI
GPAMGRPOLYGONGETGPSDEFAULTPRINTER
pQueryVideoBsMpSetBsLfaAsyncMGPAMSETCOLOR8GPAMREPOSITION7
GPAMENDITALIC+GPAMGRINTERIORSTYLEGPAMWRITERECORDGtag8251WriteMGETDEFAULTPTRGPAMGRHATCHIXGPAMGRGRAPHICSa
COPYRIGHT 1980, 1987 CONVERGENT TECHNOLOGIES, INC.
ALL RIGHTS RESERVED

THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE
OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE, AND MAY NOT BE
COPIED OR OTHERWISE USED WITHOUT THE PRIOR WRITTEN CONSENT OF CONVERGENT
TECHNOLOGIES, INC.  TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE
CODE, SHALL AT ALL TIMES REMAIN IN CONVERGENT TECHNOLOGIES.

LIBRARY: Gpam.lib
VERSION: 2.1 (tuesday july 14, 1987, 20:00)
CGpam.pasGpsCwpdpMdpMd.
PROGRAM Gpam(INPUT, OUTPUT);

{This program opens a GPS device, as specified by the user, and prints
 formatted text according to the GPAM call (i.e., begin bold and 
 underscore).}

CONST

	bLF  = CHR(0A); {Line feed character}

{$INCLUDE: 'GPAMTypes.edf'}

VAR[PUBLIC]

	bChar			: BYTE;
	BeginPage			: BeginPageType;
	cbRet			: WORD;
	DeviceSpec			: LSTRING(10);
	Erc			: ErcType;
	ErcWrite			: ErcType;
	GPAMWA			: ARRAY [0..299] OF BYTE;
	i			: INTEGER;
	OpenParams			: OpenParamsType;
	rgbGpamBuffer  : ARRAY [0..1023] OF BYTE;
	SbSentence			: LSTRING(80);

{$INCLUDE: 'GPAMProcs.edf'}



BEGIN		{MAIN}
	CheckErc(NPrint(ADS 'Where do you want the output to go?  ', 37));
	READ(DeviceSpec);
	WITH OpenParams DO
	  BEGIN
		sbDocName				:= 'GPAMTestDoc';
		sbUserName.Len				:= 0;
		fSecurity				:= False;
		fPageSuppress				:= False;
		fBannerSuppress				:= True;
		fTypeThrough				:= False;
		fImmediate				:= False;
		qTimeCreated				:= 0;
		qReqOutputStartTime := 0;
		wcCopies				:= 1;
		wTimeout				:= 0FF;
		fSingleSheet				:= False;
		wTimeToPrint				:= 1;
		bPriority				:= 5;
	  END;

	CheckErc(GPAMOpen(ADS GPAMWA,
		300,
		ADS DeviceSpec[1],    {Name of installed device driver.}
		DeviceSpec.len, 
		ADS ' ',
		0,
		ADS rgbGpamBuffer,
		1024,
		ADS OpenParams,
		145));

	WITH BeginPage DO 
	  BEGIN
		bSides			:= 1;
		fStagger			:= False;
		wBinOut			:= 0;
		sbFormName.Len := 0;
		fAlign			:= False;
		bAspect			:= 0;
		sbPageNum			:= '1'; 
		sbMontage.Len  := 0;
		bQuality			:= 3;
		wPgLength			:= 0;
	  	wPgWidth			:= 0;
	  END;

	Erc := GpamBeginPage(ADS GPAMWA, ADS BeginPage, 0);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'This is plain text followed by a return. ' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);

	SbSentence := 'Now lets begin bold...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginBold(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Now lets end bold and return.' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamEndBold(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 
	'Now lets try overstriking with a hyphen (not blanks)...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginOverStrike(ADS GPAMWA, 0, 2D);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 
	'Switch the overstrike character to a slash (with blanks)...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginOverStrike(ADS GPAMWA, 1, 2F);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Now lets end overstriking...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamEndOverstrike(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Lets try some single word underscoring...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginUnderscore(ADS GPAMWA, 0, 1);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Lets switch to solid...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginUnderscore(ADS GPAMWA, 1, 1);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Now double solid underscoring...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginUnderscore(ADS GPAMWA, 1, 2);
	IF Erc <> 0 THEN ErrorExit(Erc);
	SbSentence := 'And finally double word...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbS	entence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginUnderscore(ADS GPAMWA, 0, 2);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Now we turn underscoring off...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamEndUnderscore(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 
	'Now lets mix them up.  How about bold overstrike with *...' * bLF;

	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginBold(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);
	Erc := GpamBeginOverstrike(ADS GPAMWA, 0, 2A);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 
	'Add single solid underscore and change overstrike to ...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginOverstrike(ADS GPAMWA, 0, 23);
	IF Erc <> 0 THEN ErrorExit(Erc);
	Erc := GpamBeginUnderscore(ADS GPAMWA, 1, 1);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Now lets drop overstrike...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamEndOverstrike(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);
	SbSentence := 'Now lets drop everything...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1(],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamEndBold(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);
	Erc := GpamEndUnderscore(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Lets go to a new page.' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginPage(ADS GPAMWA, ADS BeginPage, 0);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 'Lets do a line4
 feed...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamLineFeed(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 
	'Now lets set line size to 4801440 and do a line feed...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamSetSLD(ADS GPAMWA, 240);
	IF Erc <> 0 THEN ErrorExit(Erc);
	Erc := Gpam@LineFeed(ADS GPAMWA);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 
	'Now lets place a * 2 inches from the side of the page...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamPlaceCharacter(ADS GPAMWA, 2A, 2880);
	IF Erc <> 0 THEN ErrorExit(Erc);
	SbSentence := 
	'New page with reposition 3 in. down and 2 in. in...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ALDS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	Erc := GpamBeginPage(ADS GPAMWA, ADS BeginPage, 0);
	IF Erc <> 0 THEN ErrorExit(Erc);
	Erc := GpamReposition(ADS GPAMWA, 2880, 4320);
	IF Erc <> 0 THEN ErrorExit(Erc);

	SbSentence := 
	'New lets try a test with super and sub scripting...' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	SbSentence := 'xxx';
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SXbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc);
	FOR i := 0 TO 8 DO
	  BEGIN
		Erc := GpamSetVerticalOffset(ADS GPAMWA, i);
		IF Erc <> 0 THEN ErrorExit(Erc);
		IF (i = 0) THEN SbSentence := 'x'
			ELSE SbSentence := 'o';
		Erc := GpamWriteRecord(ADS GPAMWA,
			ADS SbSentence[1],
			SbSentence.Len,
			ADS cbRet);
		IF Erc <> ErcWrite THEN ErrorExit(Erc);
	  END;
	FOR i := 8 DOWNTO 0 DO
	  BEGIN
		Erc := GpamSetVerticalOffset(ADS GPAMWA, i);
		IF Erc <> 0 THEN ErrorExit(Erc);
		IF (i = d0) THEN SbSentence := 'x'
			ELSE SbSentence := 'o';
		Erc := GpamWriteRecord(ADS GPAMWA,
			ADS SbSentence[1],
			SbSentence.Len,
			ADS cbRet);
		IF Erc <> ErcWrite THEN ErrorExit(Erc);
	  END;
	FOR i := 0 DOWNTO 8 DO
	  BEGIN
		Erc := GpamSetVerticalOffset(ADS GPAMWA, i);
		IF Erc <> 0 THEN ErrorExit(Erc);
		IF (i = 0) THEN SbSentence := 'x'
			ELSE SbSentence := 'o';
		Erc := GpamWriteRecord(ADS GPAMWA,
			ADS SbSentence[1],
			SbSentence.Len,
			ADS cbRet);
		IF Erc <> ErcWrite THEN ErrorExit(Erc);
	p  END;
	FOR i := 8 TO 0 DO
	  BEGIN
		Erc := GpamSetVerticalOffset(ADS GPAMWA, i);
		IF Erc <> 0 THEN ErrorExit(Erc);
		IF (i = 0) THEN SbSentence := 'x'
			ELSE SbSentence := 'o';
		Erc := GpamWriteRecord(ADS GPAMWA,
			ADS SbSentence[1],
			SbSentence.Len,
			ADS cbRet);
		IF Erc <> ErcWrite THEN ErrorExit(Erc);
	  END;

	SbSentence := 'Well thats all for now folks...BYE' * bLF;
	Erc := GpamWriteRecord(ADS GPAMWA,
		ADS SbSentence[1],
		SbSentence.Len,
		ADS cbRet);
	IF Erc <> ErcWrite THEN ErrorExit(Erc|);
	Erc := GpamClose(ADS GPAMWA);

END.