PNG  IHDRxsBIT|d pHYs+tEXtSoftwarewww.inkscape.org<,tEXtComment File Manager

File Manager

Path: /usr/share/ghostscript/lib/

Viewing File: pphs.ps

% Copyright (C) 2001-2021 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
% implied.
%
% This software is distributed under license and may not be copied,
% modified or distributed except as expressly authorized under the terms
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
% Artifex Software, Inc.,  1305 Grant Avenue - Suite 200, Novato,
% CA 94945, U.S.A., +1(415)492-9861, for further information.
%

% Print Linearized PDF hint streams

% Utilities
/read1 {	% <file> read1 <value>
  read not {
    (**** Unexpected EOF) = flush quit
  } if
} bind def
/read2 {	% <file> read2 <value>
  dup read1 8 bitshift exch read1 add
} bind def
/read4 {	% <file> read4 <value>
  dup read2 16 bitshift exch read2 add
} bind def
% Free variables: Bits, Bitsleft
/readninit {	% - <readninit> -
  /Bits 0 def
  /Bitsleft 0 def
} bind def

/pdftoken {	% <file> pdftoken <token>
  dup token pop
  dup type /nametype eq 1 index xcheck and {
    dup dup (<<) cvn eq exch ([) eq or {
      exec exch {
        dup pdftoken dup dup (>>) cvn eq exch (]) eq or {
          exch pop exec exit
        } if exch
      } loop
    } {
      exch pop
    } ifelse
  } {
    exch pop
  } ifelse
} bind def
/makemask {	% <nbits> makemask <mask>
  1 exch bitshift 1 sub
} bind def
/readn {	% <file> <nbits> readn <value>
  dup Bitsleft le {
    exch pop
    /Bitsleft Bitsleft 2 index sub def
    makemask Bits Bitsleft neg bitshift and
  } {
    Bitsleft makemask Bits and
    exch Bitsleft sub exch 1 index bitshift 3 1 roll
    /Bits 2 index read1 def /Bitsleft 8 def
    readn add
  } ifelse
} bind def
/sread {	% <string> sread <file>
  0 () /SubFileDecode filter
} bind def

/ptag {		% <pre-tag> <proc> <post-tag> ptag -
  3 -1 roll print (: ) print
  exch exec
  (        % ) print =
} bind def

% Print the linearization parameters dictionary.
/plpkeys <<
  /E (end of p. 1 objects)
  /L (total file length)
  /H (PHS start + length)
  /N (# of pages)
  /O (p. 1 object #)
  /T (offset of first main xref entry)
>> def
/plpdict {	% <dict> plpdict -
  (<<) = plpkeys {
    2 index 2 index .knownget {
        % Stack: dict key label value
      (  ) print 3 -1 roll ===only ( ) print ===only
      (        % ) print =
    } {
      pop pop
    } ifelse
  } forall {
    plpkeys 2 index known {
      pop pop
    } {
      (  ) print exch ===only ( ) print ===
    } ifelse
  } forall (>>) =
} bind def

% Print the Page Offset Hint Table.
/ppoht {	% <npages> <file> ppoht -

  20 dict begin
  /f exch def
  /npages exch def
  readninit

  (1) { f read4 =only } (least # objs/page) ptag
  (2) { f read4 =only } (offset of p. 1 object (+PHS length if beyond PHS)) ptag
  (3) { f read2 dup =only /nb3 exch def } (# bits for # objs/page delta) ptag
  (4) { f read4 =only } (least # bytes/page) ptag
  (5) { f read2 dup =only /nb5 exch def } (# bits for # bytes/page delta) ptag
  (6) { f read4 =only } (least content stream offset-in-page) ptag
  (7) { f read2 dup =only /nb7 exch def } (# bits for content stream offset delta) ptag
  (8) { f read4 =only } (least content stream length) ptag
  (9) { f read2 dup =only /nb9 exch def } (# bits for content stream length delta) ptag
  (10) { f read2 dup =only /nb10 exch def } (# bits for # of shared obj refs) ptag
  (11) { f read2 dup =only /nb11 exch def } (# bits for shared obj indices) ptag
  (12) { f read2 dup =only /nb12 exch def } (# bits for shared obj ref pos numerators) ptag
  (13) { f read2 =only } (shared obj ref pos denominator) ptag

  (*1) { [ npages { f nb3 readn } repeat ] ==only } (# objs/page deltas (see 1,3)) ptag
  (*2) { [ npages { f nb5 readn } repeat ] ==only } (# bytes/page deltas (see 4,5)) ptag
  (*3) { [ npages { f nb10 readn } repeat ] dup ==only /nso exch def } (# of shared obj refs (see 10)) ptag
  (*4) { [ nso { [ exch { f nb11 readn } repeat ] } forall ] ==only } (shared obj indices (see 11)) ptag
  (*5) { [ nso { [ exch { f nb12 readn } repeat ] } forall ] ==only } (shared obj ref pos numerators (see 12)) ptag
  (*6) { [ npages { f nb7 readn } repeat ] ==only } (content stream offset-in-page deltas (see 6,7)) ptag
  (*7) { [ npages { f nb9 readn } repeat ] ==only } (content stream length deltas (see 8,9)) ptag

  end		% temp dict

} bind def

% Print the Shared Objects Hint Table.
/psoht {	% <file> psoht -

  20 dict begin
  /f exch def
  readninit

  (1) { f read4 =only } (first shared obj #) ptag
  (2) { f read4 =only } (first shared obj offset (+PHS length if beyond PHS)) ptag
  (3) { f read4 dup =only /n3 exch def } (# of p. 1 shared objs) ptag
  (4) { f read4 dup =only /n4 exch def } (total # of shared objs) ptag
  (5) { f read2 dup =only /nb5 exch def } (# bits for # of shared objs/group) ptag
  (6) { f read4 =only } (least shared obj group length) ptag
  (7) { f read2 dup =only /nb7 exch def } (# bits for shared obj group length delta) ptag

  /nse n4 def
  (*1) { [ nse { f nb7 readn } repeat ] ==only } (shared obj group length deltas (see 6,7)) ptag
  (*2) { [ nse { f 1 readn } repeat ] dup ==only /md5s exch def } (MD5 present?) ptag
  (*3:) = md5s {
    0 ne {
      (  ) print f 16 string readstring pop
      (%stdout) (w) file dup 3 -1 roll writehexstring closefile () =
    } if
  } forall
  (*4) { [ nse { f nb5 readn } repeat ] ==only } (# objs/group (see 5)) ptag

  end		% temp dict

} bind def

% Print the Primary Hint Stream of a PDF file.
/pphs {		% <file> pphs -
  /pdf exch def

        % Read the linearization parameter dictionary.
  { pdf pdftoken /obj eq { exit } if } loop
  pdf pdftoken /lpdict exch def
  /lpdict type /dicttype eq { lpdict /Linearized known } { false } ifelse {
    (Not a linearized PDF file.) = stop
  } if

  lpdict plpdict flush

        % Read the primary hint stream.
  null {
    pdf pdftoken dup /stream eq { pop exit } if
    exch pop
  } loop
  /phsdict exch def
        % Remove Length if indirect reference.
  phsdict 0 known {
    phsdict 0 undef  phsdict /Length undef
  } if
  (PHS: ) print phsdict === flush
  pdf 0 (endstream) /SubFileDecode filter
  dup 64000 string readstring pop exch closefile
  sread /phsdata exch def

        % Decode the hint stream data if necessary.
  phsdict /Filter .knownget {
    phsdata exch filter
    dup 5000 string readstring pop exch closefile
    sread /phsdata exch def
  } if

        % Adobe says we can assume /P = 0.
  (Page Offset Hint Table:) =
  lpdict /N get
  phsdata phsdict /S get string readstring pop sread
  ppoht
  (Shared Objects Hint Table:) =
  phsdata psoht
} bind def

% Check for command line arguments.
[ .shellarguments
 { ] dup length 1 eq
    { 0 get (r) file dup pphs closefile }
    { (Usage: pphs filename.pdf\n) print flush }
   ifelse
 }
 { pop }
ifelse
b IDATxytVսϓ22 A@IR :hCiZ[v*E:WũZA ^dQeQ @ !jZ'>gsV仿$|?g)&x-EIENT ;@xT.i%-X}SvS5.r/UHz^_$-W"w)Ɗ/@Z &IoX P$K}JzX:;` &, ŋui,e6mX ԵrKb1ԗ)DADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADADA݀!I*]R;I2$eZ#ORZSrr6mteffu*((Pu'v{DIߔ4^pIm'77WEEE;vƎ4-$]'RI{\I&G :IHJ DWBB=\WR޽m o$K(V9ABB.}jѢv`^?IOȅ} ڶmG}T#FJ`56$-ھ}FI&v;0(h;Б38CӧOWf!;A i:F_m9s&|q%=#wZprrrla A &P\\СC[A#! {olF} `E2}MK/vV)i{4BffV\|ۭX`b@kɶ@%i$K z5zhmX[IXZ` 'b%$r5M4º/l ԃߖxhʔ)[@=} K6IM}^5k㏷݆z ΗÿO:gdGBmyT/@+Vɶ纽z񕏵l.y޴it뭷zV0[Y^>Wsqs}\/@$(T7f.InݺiR$푔n.~?H))\ZRW'Mo~v Ov6oԃxz! S,&xm/yɞԟ?'uaSѽb,8GלKboi&3t7Y,)JJ c[nzӳdE&KsZLӄ I?@&%ӟ۶mSMMњ0iؐSZ,|J+N ~,0A0!5%Q-YQQa3}$_vVrf9f?S8`zDADADADADADADADADAdqP,تmMmg1V?rSI꒟]u|l RCyEf٢9 jURbztѰ!m5~tGj2DhG*{H9)꒟ר3:(+3\?/;TUݭʴ~S6lڧUJ*i$d(#=Yݺd{,p|3B))q:vN0Y.jkק6;SɶVzHJJЀ-utѹսk>QUU\޲~]fFnK?&ߡ5b=z9)^|u_k-[y%ZNU6 7Mi:]ۦtk[n X(e6Bb."8cۭ|~teuuw|ήI-5"~Uk;ZicEmN/:]M> cQ^uiƞ??Ңpc#TUU3UakNwA`:Y_V-8.KKfRitv޲* 9S6ֿj,ՃNOMߤ]z^fOh|<>@Å5 _/Iu?{SY4hK/2]4%it5q]GGe2%iR| W&f*^]??vq[LgE_3f}Fxu~}qd-ږFxu~I N>\;͗O֊:̗WJ@BhW=y|GgwܷH_NY?)Tdi'?խwhlmQi !SUUsw4kӺe4rfxu-[nHtMFj}H_u~w>)oV}(T'ebʒv3_[+vn@Ȭ\S}ot}w=kHFnxg S 0eޢm~l}uqZfFoZuuEg `zt~? b;t%>WTkķh[2eG8LIWx,^\thrl^Ϊ{=dž<}qV@ ⠨Wy^LF_>0UkDuʫuCs$)Iv:IK;6ֲ4{^6եm+l3>݆uM 9u?>Zc }g~qhKwڭeFMM~pМuqǿz6Tb@8@Y|jx](^]gf}M"tG -w.@vOqh~/HII`S[l.6nØXL9vUcOoB\xoǤ'T&IǍQw_wpv[kmO{w~>#=P1Pɞa-we:iǏlHo׈꒟f9SzH?+shk%Fs:qVhqY`jvO'ρ?PyX3lх]˾uV{ݞ]1,MzYNW~̈́ joYn}ȚF߾׮mS]F z+EDxm/d{F{-W-4wY듏:??_gPf ^3ecg ҵs8R2מz@TANGj)}CNi/R~}c:5{!ZHӋӾ6}T]G]7W6^n 9*,YqOZj:P?Q DFL|?-^.Ɵ7}fFh׶xe2Pscz1&5\cn[=Vn[ĶE鎀uˌd3GII k;lNmشOuuRVfBE]ۣeӶu :X-[(er4~LHi6:Ѻ@ԅrST0trk%$Č0ez" *z"T/X9|8.C5Feg}CQ%͞ˣJvL/?j^h&9xF`њZ(&yF&Iݻfg#W;3^{Wo^4'vV[[K';+mӍִ]AC@W?1^{එyh +^]fm~iԵ]AB@WTk̏t uR?l.OIHiYyԶ]Aˀ7c:q}ힽaf6Z~қm(+sK4{^6}T*UUu]n.:kx{:2 _m=sAߤU@?Z-Vކеz왍Nэ{|5 pڶn b p-@sPg]0G7fy-M{GCF'%{4`=$-Ge\ eU:m+Zt'WjO!OAF@ik&t݆ϥ_ e}=]"Wz_.͜E3leWFih|t-wZۍ-uw=6YN{6|} |*={Ѽn.S.z1zjۻTH]흾 DuDvmvK.`V]yY~sI@t?/ϓ. m&["+P?MzovVЫG3-GRR[(!!\_,^%?v@ҵő m`Y)tem8GMx.))A]Y i`ViW`?^~!S#^+ѽGZj?Vģ0.))A꨷lzL*]OXrY`DBBLOj{-MH'ii-ϰ ok7^ )쭡b]UXSְmռY|5*cֽk0B7镹%ڽP#8nȎq}mJr23_>lE5$iwui+ H~F`IjƵ@q \ @#qG0".0" l`„.0! ,AQHN6qzkKJ#o;`Xv2>,tێJJ7Z/*A .@fفjMzkg @TvZH3Zxu6Ra'%O?/dQ5xYkU]Rֽkق@DaS^RSּ5|BeHNN͘p HvcYcC5:y #`οb;z2.!kr}gUWkyZn=f Pvsn3p~;4p˚=ē~NmI] ¾ 0lH[_L hsh_ғߤc_њec)g7VIZ5yrgk̞W#IjӪv>՞y睝M8[|]\շ8M6%|@PZڨI-m>=k='aiRo-x?>Q.}`Ȏ:Wsmu u > .@,&;+!!˱tﭧDQwRW\vF\~Q7>spYw$%A~;~}6¾ g&if_=j,v+UL1(tWake:@Ș>j$Gq2t7S?vL|]u/ .(0E6Mk6hiۺzښOrifޱxm/Gx> Lal%%~{lBsR4*}{0Z/tNIɚpV^#Lf:u@k#RSu =S^ZyuR/.@n&΃z~B=0eg뺆#,Þ[B/?H uUf7y Wy}Bwegל`Wh(||`l`.;Ws?V@"c:iɍL֯PGv6zctM̠':wuW;d=;EveD}9J@B(0iհ bvP1{\P&G7D޴Iy_$-Qjm~Yrr&]CDv%bh|Yzni_ˆR;kg}nJOIIwyuL}{ЌNj}:+3Y?:WJ/N+Rzd=hb;dj͒suݔ@NKMԄ jqzC5@y°hL m;*5ezᕏ=ep XL n?מ:r`۵tŤZ|1v`V뽧_csج'ߤ%oTuumk%%%h)uy]Nk[n 'b2 l.=͜E%gf$[c;s:V-͞WߤWh-j7]4=F-X]>ZLSi[Y*We;Zan(ӇW|e(HNNP5[= r4tP &0<pc#`vTNV GFqvTi*Tyam$ߏWyE*VJKMTfFw>'$-ؽ.Ho.8c"@DADADADADADADADADA~j*֘,N;Pi3599h=goضLgiJ5փy~}&Zd9p֚ e:|hL``b/d9p? fgg+%%hMgXosج, ΩOl0Zh=xdjLmhݻoO[g_l,8a]٭+ӧ0$I]c]:粹:Teꢢ"5a^Kgh,&= =՟^߶“ߢE ܹS J}I%:8 IDAT~,9/ʃPW'Mo}zNƍ쨓zPbNZ~^z=4mswg;5 Y~SVMRXUյڱRf?s:w ;6H:ºi5-maM&O3;1IKeamZh͛7+##v+c ~u~ca]GnF'ټL~PPPbn voC4R,ӟgg %hq}@#M4IÇ Oy^xMZx ) yOw@HkN˖-Sǎmb]X@n+i͖!++K3gd\$mt$^YfJ\8PRF)77Wא!Cl$i:@@_oG I{$# 8磌ŋ91A (Im7֭>}ߴJq7ޗt^ -[ԩSj*}%]&' -ɓ'ꫯVzzvB#;a 7@GxI{j޼ƌ.LÇWBB7`O"I$/@R @eee@۷>}0,ɒ2$53Xs|cS~rpTYYY} kHc %&k.], @ADADADADADADADADA@lT<%''*Lo^={رc5h %$+CnܸQ3fҥK}vUVVs9G R,_{xˇ3o߾;TTTd}馛]uuuG~iԩ@4bnvmvfϞ /Peeeq}}za I~,誫{UWW뮻}_~YƍSMMMYχ֝waw\ďcxꩧtEƍկ_?۷5@u?1kNׯWzz/wy>}zj3 k(ٺuq_Zvf̘:~ ABQ&r|!%KҥKgԞ={<_X-z !CyFUUz~ ABQIIIjݺW$UXXDٳZ~ ABQƍecW$<(~<RSSvZujjjԧOZQu@4 8m&&&jԩg$ď1h ͟?_{768@g =@`)))5o6m3)ѣƌJ;wҿUTT /KZR{~a=@0o<*狔iFɶ[ˎ;T]]OX@?K.ۈxN pppppppppppppppppPfl߾] ,{ァk۶mڿo5BTӦMӴiӴ|r DB2e|An!Dy'tkΝ[A $***t5' "!駟oaDnΝ:t֭[gDШQ06qD;@ x M6v(PiizmZ4ew"@̴ixf [~-Fٱc&IZ2|n!?$@{[HTɏ#@hȎI# _m(F /6Z3z'\r,r!;w2Z3j=~GY7"I$iI.p_"?pN`y DD?: _  Gÿab7J !Bx@0 Bo cG@`1C[@0G @`0C_u V1 aCX>W ` | `!<S `"<. `#c`?cAC4 ?c p#~@0?:08&_MQ1J h#?/`7;I  q 7a wQ A 1 Hp !#<8/#@1Ul7=S=K.4Z?E_$i@!1!E4?`P_  @Bă10#: "aU,xbFY1 [n|n #'vEH:`xb #vD4Y hi.i&EΖv#O H4IŶ}:Ikh @tZRF#(tXҙzZ ?I3l7q@õ|ۍ1,GpuY Ꮿ@hJv#xxk$ v#9 5 }_$c S#=+"K{F*m7`#%H:NRSp6I?sIՖ{Ap$I$I:QRv2$Z @UJ*$]<FO4IENDB`