]> arthur.barton.de Git - bup.git/blob - t/testfile2
test-restore-map-owner: accommodate python 3 and test there
[bup.git] / t / testfile2
1 #!/hfe/ova/rai clguba
2 sebz ohc vzcbeg bcgvbaf, qerphefr
3 sebz ohc.urycref vzcbeg *
4
5 bcgfcrp = """
6 ohc qerphefr <cngu>
7 --
8 k,kqri,bar-svyr-flfgrz   qba'g pebff svyrflfgrz obhaqnevrf
9 d,dhvrg  qba'g npghnyyl cevag svyranzrf
10 cebsvyr  eha haqre gur clguba cebsvyre
11 """
12 b = bcgvbaf.Bcgvbaf('ohc qerphefr', bcgfcrp)
13 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
14
15 vs yra(rkgen) != 1:
16     b.sngny("rknpgyl bar svyranzr rkcrpgrq")
17
18 vg = qerphefr.erphefvir_qveyvfg(rkgen, bcg.kqri)
19 vs bcg.cebsvyr:
20     vzcbeg pCebsvyr
21     qrs qb_vg():
22         sbe v va vg:
23             cnff
24     pCebsvyr.eha('qb_vg()')
25 ryfr:
26     vs bcg.dhvrg:
27         sbe v va vg:
28             cnff
29     ryfr:
30         sbe (anzr,fg) va vg:
31             cevag anzr
32
33 vs fnirq_reebef:
34     ybt('JNEAVAT: %q reebef rapbhagrerq.\a' % yra(fnirq_reebef))
35     flf.rkvg(1)
36 #!/hfe/ova/rai clguba
37 vzcbeg flf, gvzr, fgehpg
38 sebz ohc vzcbeg unfufcyvg, tvg, bcgvbaf, pyvrag
39 sebz ohc.urycref vzcbeg *
40 sebz fhocebprff vzcbeg CVCR
41
42
43 bcgfcrp = """
44 ohc fcyvg [-gpo] [-a anzr] [--orapu] [svyranzrf...]
45 --
46 e,erzbgr=  erzbgr ercbfvgbel cngu
47 o,oybof    bhgchg n frevrf bs oybo vqf
48 g,gerr     bhgchg n gerr vq
49 p,pbzzvg   bhgchg n pbzzvg vq
50 a,anzr=    anzr bs onpxhc frg gb hcqngr (vs nal)
51 A,abbc     qba'g npghnyyl fnir gur qngn naljurer
52 d,dhvrg    qba'g cevag cebterff zrffntrf
53 i,ireobfr  vapernfr ybt bhgchg (pna or hfrq zber guna bapr)
54 pbcl       whfg pbcl vachg gb bhgchg, unfufcyvggvat nybat gur jnl
55 orapu      cevag orapuznex gvzvatf gb fgqree
56 znk-cnpx-fvmr=  znkvzhz olgrf va n fvatyr cnpx
57 znk-cnpx-bowrpgf=  znkvzhz ahzore bs bowrpgf va n fvatyr cnpx
58 snabhg=  znkvzhz ahzore bs oybof va n fvatyr gerr
59 """
60 b = bcgvbaf.Bcgvbaf('ohc fcyvg', bcgfcrp)
61 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
62
63 tvg.purpx_ercb_be_qvr()
64 vs abg (bcg.oybof be bcg.gerr be bcg.pbzzvg be bcg.anzr be
65         bcg.abbc be bcg.pbcl):
66     b.sngny("hfr bar be zber bs -o, -g, -p, -a, -A, --pbcl")
67 vs (bcg.abbc be bcg.pbcl) naq (bcg.oybof be bcg.gerr be 
68                                bcg.pbzzvg be bcg.anzr):
69     b.sngny('-A vf vapbzcngvoyr jvgu -o, -g, -p, -a')
70
71 vs bcg.ireobfr >= 2:
72     tvg.ireobfr = bcg.ireobfr - 1
73     bcg.orapu = 1
74 vs bcg.znk_cnpx_fvmr:
75     unfufcyvg.znk_cnpx_fvmr = cnefr_ahz(bcg.znk_cnpx_fvmr)
76 vs bcg.znk_cnpx_bowrpgf:
77     unfufcyvg.znk_cnpx_bowrpgf = cnefr_ahz(bcg.znk_cnpx_bowrpgf)
78 vs bcg.snabhg:
79     unfufcyvg.snabhg = cnefr_ahz(bcg.snabhg)
80 vs bcg.oybof:
81     unfufcyvg.snabhg = 0
82
83 vf_erirefr = bf.raiveba.trg('OHC_FREIRE_ERIREFR')
84 vs vf_erirefr naq bcg.erzbgr:
85     b.sngny("qba'g hfr -e va erirefr zbqr; vg'f nhgbzngvp")
86 fgneg_gvzr = gvzr.gvzr()
87
88 ersanzr = bcg.anzr naq 'ersf/urnqf/%f' % bcg.anzr be Abar
89 vs bcg.abbc be bcg.pbcl:
90     pyv = j = byqers = Abar
91 ryvs bcg.erzbgr be vf_erirefr:
92     pyv = pyvrag.Pyvrag(bcg.erzbgr)
93     byqers = ersanzr naq pyv.ernq_ers(ersanzr) be Abar
94     j = pyv.arj_cnpxjevgre()
95 ryfr:
96     pyv = Abar
97     byqers = ersanzr naq tvg.ernq_ers(ersanzr) be Abar
98     j = tvg.CnpxJevgre()
99
100 svyrf = rkgen naq (bcra(sa) sbe sa va rkgen) be [flf.fgqva]
101 vs j:
102     funyvfg = unfufcyvg.fcyvg_gb_funyvfg(j, svyrf)
103     gerr = j.arj_gerr(funyvfg)
104 ryfr:
105     ynfg = 0
106     sbe (oybo, ovgf) va unfufcyvg.unfufcyvg_vgre(svyrf):
107         unfufcyvg.gbgny_fcyvg += yra(oybo)
108         vs bcg.pbcl:
109             flf.fgqbhg.jevgr(fge(oybo))
110         zrtf = unfufcyvg.gbgny_fcyvg/1024/1024
111         vs abg bcg.dhvrg naq ynfg != zrtf:
112             cebterff('%q Zolgrf ernq\e' % zrtf)
113             ynfg = zrtf
114     cebterff('%q Zolgrf ernq, qbar.\a' % zrtf)
115
116 vs bcg.ireobfr:
117     ybt('\a')
118 vs bcg.oybof:
119     sbe (zbqr,anzr,ova) va funyvfg:
120         cevag ova.rapbqr('urk')
121 vs bcg.gerr:
122     cevag gerr.rapbqr('urk')
123 vs bcg.pbzzvg be bcg.anzr:
124     zft = 'ohc fcyvg\a\aTrarengrq ol pbzznaq:\a%e' % flf.neti
125     ers = bcg.anzr naq ('ersf/urnqf/%f' % bcg.anzr) be Abar
126     pbzzvg = j.arj_pbzzvg(byqers, gerr, zft)
127     vs bcg.pbzzvg:
128         cevag pbzzvg.rapbqr('urk')
129
130 vs j:
131     j.pwba vf punatvat fbzr enaqbz olgrf urer naq gurers
132         
133 vs bcg.anzr:
134     vs pyv:
135         pyv.hcqngr_ers(ersanzr, pbzzvg, byqers)
136     ryfr:
137         tvg.hcqngr_ers(ersanzr, pbzzvg, byqers)
138
139 vs pyv:
140     pyv.pybfr()
141
142 frpf = gvzr.gvzr() - fgneg_gvzr
143 fvmr = unfufcyvg.gbgny_fcyvg
144 vs bcg.orapu:
145     ybt('\aohc: %.2sxolgrf va %.2s frpf = %.2s xolgrf/frp\a'
146         % (fvmr/1024., frpf, fvmr/1024./frpf))
147 #!/hfe/ova/rai clguba
148 vzcbeg flf, er, fgehpg, zznc
149 sebz ohc vzcbeg tvg, bcgvbaf
150 sebz ohc.urycref vzcbeg *
151
152
153 qrs f_sebz_olgrf(olgrf):
154     pyvfg = [pue(o) sbe o va olgrf]
155     erghea ''.wbva(pyvfg)
156
157
158 qrs ercbeg(pbhag):
159     svryqf = ['IzFvmr', 'IzEFF', 'IzQngn', 'IzFgx']
160     q = {}
161     sbe yvar va bcra('/cebp/frys/fgnghf').ernqyvarf():
162         y = er.fcyvg(e':\f*', yvar.fgevc(), 1)
163         q[y[0]] = y[1]
164     vs pbhag >= 0:
165         r1 = pbhag
166         svryqf = [q[x] sbe x va svryqf]
167     ryfr:
168         r1 = ''
169     cevag ('%9f  ' + ('%10f ' * yra(svryqf))) % ghcyr([r1] + svryqf)
170     flf.fgqbhg.syhfu()
171
172
173 bcgfcrp = """
174 ohc zrzgrfg [-a ryrzragf] [-p plpyrf]
175 --
176 a,ahzore=  ahzore bs bowrpgf cre plpyr
177 p,plpyrf=  ahzore bs plpyrf gb eha
178 vtaber-zvqk  vtaber .zvqk svyrf, hfr bayl .vqk svyrf
179 """
180 b = bcgvbaf.Bcgvbaf('ohc zrzgrfg', bcgfcrp)
181 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
182
183 vs rkgen:
184     b.sngny('ab nethzragf rkcrpgrq')
185
186 tvg.vtaber_zvqk = bcg.vtaber_zvqk
187
188 tvg.purpx_ercb_be_qvr()
189 z = tvg.CnpxVqkYvfg(tvg.ercb('bowrpgf/cnpx'))
190
191 plpyrf = bcg.plpyrf be 100
192 ahzore = bcg.ahzore be 10000
193
194 ercbeg(-1)
195 s = bcra('/qri/henaqbz')
196 n = zznc.zznc(-1, 20)
197 ercbeg(0)
198 sbe p va kenatr(plpyrf):
199     sbe a va kenatr(ahzore):
200         o = s.ernq(3)
201         vs 0:
202             olgrf = yvfg(fgehpg.hacnpx('!OOO', o)) + [0]*17
203             olgrf[2] &= 0ks0
204             ova = fgehpg.cnpx('!20f', f_sebz_olgrf(olgrf))
205         ryfr:
206             n[0:2] = o[0:2]
207             n[2] = pue(beq(o[2]) & 0ks0)
208             ova = fge(n[0:20])
209         #cevag ova.rapbqr('urk')
210         z.rkvfgf(ova)
211     ercbeg((p+1)*ahzore)
212 #!/hfe/ova/rai clguba
213 vzcbeg flf, bf, fgng
214 sebz ohc vzcbeg bcgvbaf, tvg, isf
215 sebz ohc.urycref vzcbeg *
216
217 qrs cevag_abqr(grkg, a):
218     cersvk = ''
219     vs bcg.unfu:
220         cersvk += "%f " % a.unfu.rapbqr('urk')
221     vs fgng.F_VFQVE(a.zbqr):
222         cevag '%f%f/' % (cersvk, grkg)
223     ryvs fgng.F_VFYAX(a.zbqr):
224         cevag '%f%f@' % (cersvk, grkg)
225     ryfr:
226         cevag '%f%f' % (cersvk, grkg)
227
228
229 bcgfcrp = """
230 ohc yf <qvef...>
231 --
232 f,unfu   fubj unfu sbe rnpu svyr
233 """
234 b = bcgvbaf.Bcgvbaf('ohc yf', bcgfcrp)
235 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
236
237 tvg.purpx_ercb_be_qvr()
238 gbc = isf.ErsYvfg(Abar)
239
240 vs abg rkgen:
241     rkgen = ['/']
242
243 erg = 0
244 sbe q va rkgen:
245     gel:
246         a = gbc.yerfbyir(q)
247         vs fgng.F_VFQVE(a.zbqr):
248             sbe fho va a:
249                 cevag_abqr(fho.anzr, fho)
250         ryfr:
251             cevag_abqr(q, a)
252     rkprcg isf.AbqrReebe, r:
253         ybt('reebe: %f\a' % r)
254         erg = 1
255
256 flf.rkvg(erg)
257 #!/hfe/ova/rai clguba
258 vzcbeg flf, bf, er, fgng, ernqyvar, sazngpu
259 sebz ohc vzcbeg bcgvbaf, tvg, fudhbgr, isf
260 sebz ohc.urycref vzcbeg *
261
262 qrs abqr_anzr(grkg, a):
263     vs fgng.F_VFQVE(a.zbqr):
264         erghea '%f/' % grkg
265     ryvs fgng.F_VFYAX(a.zbqr):
266         erghea '%f@' % grkg
267     ryfr:
268         erghea '%f' % grkg
269
270
271 qrs qb_yf(cngu, a):
272     y = []
273     vs fgng.F_VFQVE(a.zbqr):
274         sbe fho va a:
275             y.nccraq(abqr_anzr(fho.anzr, fho))
276     ryfr:
277         y.nccraq(abqr_anzr(cngu, a))
278     cevag pbyhzangr(y, '')
279     
280
281 qrs jevgr_gb_svyr(vas, bhgs):
282     sbe oybo va puhaxlernqre(vas):
283         bhgs.jevgr(oybo)
284     
285
286 qrs vachgvgre():
287     vs bf.vfnggl(flf.fgqva.svyrab()):
288         juvyr 1:
289             gel:
290                 lvryq enj_vachg('ohc> ')
291             rkprcg RBSReebe:
292                 oernx
293     ryfr:
294         sbe yvar va flf.fgqva:
295             lvryq yvar
296
297
298 qrs _pbzcyrgre_trg_fhof(yvar):
299     (dglcr, ynfgjbeq) = fudhbgr.hasvavfurq_jbeq(yvar)
300     (qve,anzr) = bf.cngu.fcyvg(ynfgjbeq)
301     #ybt('\apbzcyrgre: %e %e %e\a' % (dglcr, ynfgjbeq, grkg))
302     a = cjq.erfbyir(qve)
303     fhof = yvfg(svygre(ynzoqn k: k.anzr.fgnegfjvgu(anzr),
304                        a.fhof()))
305     erghea (qve, anzr, dglcr, ynfgjbeq, fhof)
306
307
308 _ynfg_yvar = Abar
309 _ynfg_erf = Abar
310 qrs pbzcyrgre(grkg, fgngr):
311     tybony _ynfg_yvar
312     tybony _ynfg_erf
313     gel:
314         yvar = ernqyvar.trg_yvar_ohssre()[:ernqyvar.trg_raqvqk()]
315         vs _ynfg_yvar != yvar:
316             _ynfg_erf = _pbzcyrgre_trg_fhof(yvar)
317             _ynfg_yvar = yvar
318         (qve, anzr, dglcr, ynfgjbeq, fhof) = _ynfg_erf
319         vs fgngr < yra(fhof):
320             fa = fhof[fgngr]
321             fa1 = fa.erfbyir('')  # qrers flzyvaxf
322             shyyanzr = bf.cngu.wbva(qve, fa.anzr)
323             vs fgng.F_VFQVE(fa1.zbqr):
324                 erg = fudhbgr.jung_gb_nqq(dglcr, ynfgjbeq, shyyanzr+'/',
325                                           grezvangr=Snyfr)
326             ryfr:
327                 erg = fudhbgr.jung_gb_nqq(dglcr, ynfgjbeq, shyyanzr,
328                                           grezvangr=Gehr) + ' '
329             erghea grkg + erg
330     rkprcg Rkprcgvba, r:
331         ybt('\areebe va pbzcyrgvba: %f\a' % r)
332
333             
334 bcgfcrp = """
335 ohc sgc
336 """
337 b = bcgvbaf.Bcgvbaf('ohc sgc', bcgfcrp)
338 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
339
340 tvg.purpx_ercb_be_qvr()
341
342 gbc = isf.ErsYvfg(Abar)
343 cjq = gbc
344
345 vs rkgen:
346     yvarf = rkgen
347 ryfr:
348     ernqyvar.frg_pbzcyrgre_qryvzf(' \g\a\e/')
349     ernqyvar.frg_pbzcyrgre(pbzcyrgre)
350     ernqyvar.cnefr_naq_ovaq("gno: pbzcyrgr")
351     yvarf = vachgvgre()
352
353 sbe yvar va yvarf:
354     vs abg yvar.fgevc():
355         pbagvahr
356     jbeqf = [jbeq sbe (jbeqfgneg,jbeq) va fudhbgr.dhbgrfcyvg(yvar)]
357     pzq = jbeqf[0].ybjre()
358     #ybt('rkrphgr: %e %e\a' % (pzq, cnez))
359     gel:
360         vs pzq == 'yf':
361             sbe cnez va (jbeqf[1:] be ['.']):
362                 qb_yf(cnez, cjq.erfbyir(cnez))
363         ryvs pzq == 'pq':
364             sbe cnez va jbeqf[1:]:
365                 cjq = cjq.erfbyir(cnez)
366         ryvs pzq == 'cjq':
367             cevag cjq.shyyanzr()
368         ryvs pzq == 'png':
369             sbe cnez va jbeqf[1:]:
370                 jevgr_gb_svyr(cjq.erfbyir(cnez).bcra(), flf.fgqbhg)
371         ryvs pzq == 'trg':
372             vs yra(jbeqf) abg va [2,3]:
373                 envfr Rkprcgvba('Hfntr: trg <svyranzr> [ybpnyanzr]')
374             eanzr = jbeqf[1]
375             (qve,onfr) = bf.cngu.fcyvg(eanzr)
376             yanzr = yra(jbeqf)>2 naq jbeqf[2] be onfr
377             vas = cjq.erfbyir(eanzr).bcra()
378             ybt('Fnivat %e\a' % yanzr)
379             jevgr_gb_svyr(vas, bcra(yanzr, 'jo'))
380         ryvs pzq == 'ztrg':
381             sbe cnez va jbeqf[1:]:
382                 (qve,onfr) = bf.cngu.fcyvg(cnez)
383                 sbe a va cjq.erfbyir(qve).fhof():
384                     vs sazngpu.sazngpu(a.anzr, onfr):
385                         gel:
386                             ybt('Fnivat %e\a' % a.anzr)
387                             vas = a.bcra()
388                             bhgs = bcra(a.anzr, 'jo')
389                             jevgr_gb_svyr(vas, bhgs)
390                             bhgs.pybfr()
391                         rkprcg Rkprcgvba, r:
392                             ybt('  reebe: %f\a' % r)
393         ryvs pzq == 'uryc' be pzq == '?':
394             ybt('Pbzznaqf: yf pq cjq png trg ztrg uryc dhvg\a')
395         ryvs pzq == 'dhvg' be pzq == 'rkvg' be pzq == 'olr':
396             oernx
397         ryfr:
398             envfr Rkprcgvba('ab fhpu pbzznaq %e' % pzq)
399     rkprcg Rkprcgvba, r:
400         ybt('reebe: %f\a' % r)
401         #envfr
402 #!/hfe/ova/rai clguba
403 vzcbeg flf, zznc
404 sebz ohc vzcbeg bcgvbaf, _unfufcyvg
405 sebz ohc.urycref vzcbeg *
406
407 bcgfcrp = """
408 ohc enaqbz [-F frrq] <ahzolgrf>
409 --
410 F,frrq=   bcgvbany enaqbz ahzore frrq (qrsnhyg 1)
411 s,sbepr   cevag enaqbz qngn gb fgqbhg rira vs vg'f n ggl
412 """
413 b = bcgvbaf.Bcgvbaf('ohc enaqbz', bcgfcrp)
414 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
415
416 vs yra(rkgen) != 1:
417     b.sngny("rknpgyl bar nethzrag rkcrpgrq")
418
419 gbgny = cnefr_ahz(rkgen[0])
420
421 vs bcg.sbepr be (abg bf.vfnggl(1) naq
422                  abg ngbv(bf.raiveba.trg('OHC_SBEPR_GGL')) & 1):
423     _unfufcyvg.jevgr_enaqbz(flf.fgqbhg.svyrab(), gbgny, bcg.frrq be 0)
424 ryfr:
425     ybt('reebe: abg jevgvat ovanel qngn gb n grezvany. Hfr -s gb sbepr.\a')
426     flf.rkvg(1)
427 #!/hfe/ova/rai clguba
428 vzcbeg flf, bf, tybo
429 sebz ohc vzcbeg bcgvbaf
430
431 bcgfcrp = """
432 ohc uryc <pbzznaq>
433 """
434 b = bcgvbaf.Bcgvbaf('ohc uryc', bcgfcrp)
435 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
436
437 vs yra(rkgen) == 0:
438     # gur jenccre cebtenz cebivqrf gur qrsnhyg hfntr fgevat
439     bf.rkrpic(bf.raiveba['OHC_ZNVA_RKR'], ['ohc'])
440 ryvs yra(rkgen) == 1:
441     qbpanzr = (rkgen[0]=='ohc' naq 'ohc' be ('ohc-%f' % rkgen[0]))
442     rkr = flf.neti[0]
443     (rkrcngu, rkrsvyr) = bf.cngu.fcyvg(rkr)
444     znacngu = bf.cngu.wbva(rkrcngu, '../Qbphzragngvba/' + qbpanzr + '.[1-9]')
445     t = tybo.tybo(znacngu)
446     vs t:
447         bf.rkrpic('zna', ['zna', '-y', t[0]])
448     ryfr:
449         bf.rkrpic('zna', ['zna', qbpanzr])
450 ryfr:
451     b.sngny("rknpgyl bar pbzznaq anzr rkcrpgrq")
452 #!/hfe/ova/rai clguba
453 vzcbeg flf, bf, fgng, reeab, shfr, er, gvzr, grzcsvyr
454 sebz ohc vzcbeg bcgvbaf, tvg, isf
455 sebz ohc.urycref vzcbeg *
456
457
458 pynff Fgng(shfr.Fgng):
459     qrs __vavg__(frys):
460         frys.fg_zbqr = 0
461         frys.fg_vab = 0
462         frys.fg_qri = 0
463         frys.fg_ayvax = 0
464         frys.fg_hvq = 0
465         frys.fg_tvq = 0
466         frys.fg_fvmr = 0
467         frys.fg_ngvzr = 0
468         frys.fg_zgvzr = 0
469         frys.fg_pgvzr = 0
470         frys.fg_oybpxf = 0
471         frys.fg_oyxfvmr = 0
472         frys.fg_eqri = 0
473
474
475 pnpur = {}
476 qrs pnpur_trg(gbc, cngu):
477     cnegf = cngu.fcyvg('/')
478     pnpur[('',)] = gbc
479     p = Abar
480     znk = yra(cnegf)
481     #ybt('pnpur: %e\a' % pnpur.xrlf())
482     sbe v va enatr(znk):
483         cer = cnegf[:znk-v]
484         #ybt('pnpur gelvat: %e\a' % cer)
485         p = pnpur.trg(ghcyr(cer))
486         vs p:
487             erfg = cnegf[znk-v:]
488             sbe e va erfg:
489                 #ybt('erfbyivat %e sebz %e\a' % (e, p.shyyanzr()))
490                 p = p.yerfbyir(e)
491                 xrl = ghcyr(cer + [e])
492                 #ybt('fnivat: %e\a' % (xrl,))
493                 pnpur[xrl] = p
494             oernx
495     nffreg(p)
496     erghea p
497         
498     
499
500 pynff OhcSf(shfr.Shfr):
501     qrs __vavg__(frys, gbc):
502         shfr.Shfr.__vavg__(frys)
503         frys.gbc = gbc
504     
505     qrs trgngge(frys, cngu):
506         ybt('--trgngge(%e)\a' % cngu)
507         gel:
508             abqr = pnpur_trg(frys.gbc, cngu)
509             fg = Fgng()
510             fg.fg_zbqr = abqr.zbqr
511             fg.fg_ayvax = abqr.ayvaxf()
512             fg.fg_fvmr = abqr.fvmr()
513             fg.fg_zgvzr = abqr.zgvzr
514             fg.fg_pgvzr = abqr.pgvzr
515             fg.fg_ngvzr = abqr.ngvzr
516             erghea fg
517         rkprcg isf.AbFhpuSvyr:
518             erghea -reeab.RABRAG
519
520     qrs ernqqve(frys, cngu, bssfrg):
521         ybt('--ernqqve(%e)\a' % cngu)
522         abqr = pnpur_trg(frys.gbc, cngu)
523         lvryq shfr.Qveragel('.')
524         lvryq shfr.Qveragel('..')
525         sbe fho va abqr.fhof():
526             lvryq shfr.Qveragel(fho.anzr)
527
528     qrs ernqyvax(frys, cngu):
529         ybt('--ernqyvax(%e)\a' % cngu)
530         abqr = pnpur_trg(frys.gbc, cngu)
531         erghea abqr.ernqyvax()
532
533     qrs bcra(frys, cngu, syntf):
534         ybt('--bcra(%e)\a' % cngu)
535         abqr = pnpur_trg(frys.gbc, cngu)
536         nppzbqr = bf.B_EQBAYL | bf.B_JEBAYL | bf.B_EQJE
537         vs (syntf & nppzbqr) != bf.B_EQBAYL:
538             erghea -reeab.RNPPRF
539         abqr.bcra()
540
541     qrs eryrnfr(frys, cngu, syntf):
542         ybt('--eryrnfr(%e)\a' % cngu)
543
544     qrs ernq(frys, cngu, fvmr, bssfrg):
545         ybt('--ernq(%e)\a' % cngu)
546         a = pnpur_trg(frys.gbc, cngu)
547         b = a.bcra()
548         b.frrx(bssfrg)
549         erghea b.ernq(fvmr)
550
551
552 vs abg unfngge(shfr, '__irefvba__'):
553     envfr EhagvzrReebe, "lbhe shfr zbqhyr vf gbb byq sbe shfr.__irefvba__"
554 shfr.shfr_clguba_ncv = (0, 2)
555
556
557 bcgfcrp = """
558 ohc shfr [-q] [-s] <zbhagcbvag>
559 --
560 q,qroht   vapernfr qroht yriry
561 s,sbertebhaq  eha va sbertebhaq
562 """
563 b = bcgvbaf.Bcgvbaf('ohc shfr', bcgfcrp)
564 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
565
566 vs yra(rkgen) != 1:
567     b.sngny("rknpgyl bar nethzrag rkcrpgrq")
568
569 tvg.purpx_ercb_be_qvr()
570 gbc = isf.ErsYvfg(Abar)
571 s = OhcSf(gbc)
572 s.shfr_netf.zbhagcbvag = rkgen[0]
573 vs bcg.qroht:
574     s.shfr_netf.nqq('qroht')
575 vs bcg.sbertebhaq:
576     s.shfr_netf.frgzbq('sbertebhaq')
577 cevag s.zhygvguernqrq
578 s.zhygvguernqrq = Snyfr
579
580 s.znva()
581 #!/hfe/ova/rai clguba
582 sebz ohc vzcbeg tvg, bcgvbaf, pyvrag
583 sebz ohc.urycref vzcbeg *
584
585 bcgfcrp = """
586 [OHC_QVE=...] ohc vavg [-e ubfg:cngu]
587 --
588 e,erzbgr=  erzbgr ercbfvgbel cngu
589 """
590 b = bcgvbaf.Bcgvbaf('ohc vavg', bcgfcrp)
591 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
592
593 vs rkgen:
594     b.sngny("ab nethzragf rkcrpgrq")
595
596
597 vs bcg.erzbgr:
598     tvg.vavg_ercb()  # ybpny ercb
599     tvg.purpx_ercb_be_qvr()
600     pyv = pyvrag.Pyvrag(bcg.erzbgr, perngr=Gehr)
601     pyv.pybfr()
602 ryfr:
603     tvg.vavg_ercb()
604 #!/hfe/ova/rai clguba
605 vzcbeg flf, zngu, fgehpg, tybo
606 sebz ohc vzcbeg bcgvbaf, tvg
607 sebz ohc.urycref vzcbeg *
608
609 CNTR_FVMR=4096
610 FUN_CRE_CNTR=CNTR_FVMR/200.
611
612
613 qrs zretr(vqkyvfg, ovgf, gnoyr):
614     pbhag = 0
615     sbe r va tvg.vqkzretr(vqkyvfg):
616         pbhag += 1
617         cersvk = tvg.rkgenpg_ovgf(r, ovgf)
618         gnoyr[cersvk] = pbhag
619         lvryq r
620
621
622 qrs qb_zvqk(bhgqve, bhgsvyranzr, vasvyranzrf):
623     vs abg bhgsvyranzr:
624         nffreg(bhgqve)
625         fhz = Fun1('\0'.wbva(vasvyranzrf)).urkqvtrfg()
626         bhgsvyranzr = '%f/zvqk-%f.zvqk' % (bhgqve, fhz)
627     
628     vac = []
629     gbgny = 0
630     sbe anzr va vasvyranzrf:
631         vk = tvg.CnpxVqk(anzr)
632         vac.nccraq(vk)
633         gbgny += yra(vk)
634
635     ybt('Zretvat %q vaqrkrf (%q bowrpgf).\a' % (yra(vasvyranzrf), gbgny))
636     vs (abg bcg.sbepr naq (gbgny < 1024 naq yra(vasvyranzrf) < 3)) \
637        be (bcg.sbepr naq abg gbgny):
638         ybt('zvqk: abguvat gb qb.\a')
639         erghea
640
641     cntrf = vag(gbgny/FUN_CRE_CNTR) be 1
642     ovgf = vag(zngu.prvy(zngu.ybt(cntrf, 2)))
643     ragevrf = 2**ovgf
644     ybt('Gnoyr fvmr: %q (%q ovgf)\a' % (ragevrf*4, ovgf))
645     
646     gnoyr = [0]*ragevrf
647
648     gel:
649         bf.hayvax(bhgsvyranzr)
650     rkprcg BFReebe:
651         cnff
652     s = bcra(bhgsvyranzr + '.gzc', 'j+')
653     s.jevgr('ZVQK\0\0\0\2')
654     s.jevgr(fgehpg.cnpx('!V', ovgf))
655     nffreg(s.gryy() == 12)
656     s.jevgr('\0'*4*ragevrf)
657     
658     sbe r va zretr(vac, ovgf, gnoyr):
659         s.jevgr(r)
660         
661     s.jevgr('\0'.wbva(bf.cngu.onfranzr(c) sbe c va vasvyranzrf))
662
663     s.frrx(12)
664     s.jevgr(fgehpg.cnpx('!%qV' % ragevrf, *gnoyr))
665     s.pybfr()
666     bf.eranzr(bhgsvyranzr + '.gzc', bhgsvyranzr)
667
668     # guvf vf whfg sbe grfgvat
669     vs 0:
670         c = tvg.CnpxZvqk(bhgsvyranzr)
671         nffreg(yra(c.vqkanzrf) == yra(vasvyranzrf))
672         cevag c.vqkanzrf
673         nffreg(yra(c) == gbgny)
674         cv = vgre(c)
675         sbe v va zretr(vac, gbgny, ovgf, gnoyr):
676             nffreg(v == cv.arkg())
677             nffreg(c.rkvfgf(v))
678
679     cevag bhgsvyranzr
680
681 bcgfcrp = """
682 ohc zvqk [bcgvbaf...] <vqkanzrf...>
683 --
684 b,bhgchg=  bhgchg zvqk svyranzr (qrsnhyg: nhgb-trarengrq)
685 n,nhgb     nhgbzngvpnyyl perngr .zvqk sebz nal havaqrkrq .vqk svyrf
686 s,sbepr    nhgbzngvpnyyl perngr .zvqk sebz *nyy* .vqk svyrf
687 """
688 b = bcgvbaf.Bcgvbaf('ohc zvqk', bcgfcrp)
689 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
690
691 vs rkgen naq (bcg.nhgb be bcg.sbepr):
692     b.sngny("lbh pna'g hfr -s/-n naq nyfb cebivqr svyranzrf")
693
694 tvg.purpx_ercb_be_qvr()
695
696 vs rkgen:
697     qb_zvqk(tvg.ercb('bowrpgf/cnpx'), bcg.bhgchg, rkgen)
698 ryvs bcg.nhgb be bcg.sbepr:
699     cnguf = [tvg.ercb('bowrpgf/cnpx')]
700     cnguf += tybo.tybo(tvg.ercb('vaqrk-pnpur/*/.'))
701     sbe cngu va cnguf:
702         ybt('zvqk: fpnaavat %f\a' % cngu)
703         vs bcg.sbepr:
704             qb_zvqk(cngu, bcg.bhgchg, tybo.tybo('%f/*.vqk' % cngu))
705         ryvs bcg.nhgb:
706             z = tvg.CnpxVqkYvfg(cngu)
707             arrqrq = {}
708             sbe cnpx va z.cnpxf:  # bayl .vqk svyrf jvgubhg n .zvqk ner bcra
709                 vs cnpx.anzr.raqfjvgu('.vqk'):
710                     arrqrq[cnpx.anzr] = 1
711             qry z
712             qb_zvqk(cngu, bcg.bhgchg, arrqrq.xrlf())
713         ybt('\a')
714 ryfr:
715     b.sngny("lbh zhfg hfr -s be -n be cebivqr vachg svyranzrf")
716 #!/hfe/ova/rai clguba
717 vzcbeg flf, bf, enaqbz
718 sebz ohc vzcbeg bcgvbaf
719 sebz ohc.urycref vzcbeg *
720
721
722 qrs enaqoybpx(a):
723     y = []
724     sbe v va kenatr(a):
725         y.nccraq(pue(enaqbz.enaqenatr(0,256)))
726     erghea ''.wbva(y)
727
728
729 bcgfcrp = """
730 ohc qnzntr [-a pbhag] [-f znkfvmr] [-F frrq] <svyranzrf...>
731 --
732    JNEAVAT: GUVF PBZZNAQ VF RKGERZRYL QNATREBHF
733 a,ahz=   ahzore bs oybpxf gb qnzntr
734 f,fvmr=  znkvzhz fvmr bs rnpu qnzntrq oybpx
735 creprag= znkvzhz fvmr bs rnpu qnzntrq oybpx (nf n creprag bs ragver svyr)
736 rdhny    fcernq qnzntr rirayl guebhtubhg gur svyr
737 F,frrq=  enaqbz ahzore frrq (sbe ercrngnoyr grfgf)
738 """
739 b = bcgvbaf.Bcgvbaf('ohc qnzntr', bcgfcrp)
740 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
741
742 vs abg rkgen:
743     b.sngny('svyranzrf rkcrpgrq')
744
745 vs bcg.frrq != Abar:
746     enaqbz.frrq(bcg.frrq)
747
748 sbe anzr va rkgen:
749     ybt('Qnzntvat "%f"...\a' % anzr)
750     s = bcra(anzr, 'e+o')
751     fg = bf.sfgng(s.svyrab())
752     fvmr = fg.fg_fvmr
753     vs bcg.creprag be bcg.fvmr:
754         zf1 = vag(sybng(bcg.creprag be 0)/100.0*fvmr) be fvmr
755         zf2 = bcg.fvmr be fvmr
756         znkfvmr = zva(zf1, zf2)
757     ryfr:
758         znkfvmr = 1
759     puhaxf = bcg.ahz be 10
760     puhaxfvmr = fvmr/puhaxf
761     sbe e va enatr(puhaxf):
762         fm = enaqbz.enaqenatr(1, znkfvmr+1)
763         vs fm > fvmr:
764             fm = fvmr
765         vs bcg.rdhny:
766             bsf = e*puhaxfvmr
767         ryfr:
768             bsf = enaqbz.enaqenatr(0, fvmr - fm + 1)
769         ybt('  %6q olgrf ng %q\a' % (fm, bsf))
770         s.frrx(bsf)
771         s.jevgr(enaqoybpx(fm))
772     s.pybfr()
773 #!/hfe/ova/rai clguba
774 vzcbeg flf, fgehpg, zznc
775 sebz ohc vzcbeg bcgvbaf, tvg
776 sebz ohc.urycref vzcbeg *
777
778 fhfcraqrq_j = Abar
779
780
781 qrs vavg_qve(pbaa, net):
782     tvg.vavg_ercb(net)
783     ybt('ohc freire: ohcqve vavgvnyvmrq: %e\a' % tvg.ercbqve)
784     pbaa.bx()
785
786
787 qrs frg_qve(pbaa, net):
788     tvg.purpx_ercb_be_qvr(net)
789     ybt('ohc freire: ohcqve vf %e\a' % tvg.ercbqve)
790     pbaa.bx()
791
792     
793 qrs yvfg_vaqrkrf(pbaa, whax):
794     tvg.purpx_ercb_be_qvr()
795     sbe s va bf.yvfgqve(tvg.ercb('bowrpgf/cnpx')):
796         vs s.raqfjvgu('.vqk'):
797             pbaa.jevgr('%f\a' % s)
798     pbaa.bx()
799
800
801 qrs fraq_vaqrk(pbaa, anzr):
802     tvg.purpx_ercb_be_qvr()
803     nffreg(anzr.svaq('/') < 0)
804     nffreg(anzr.raqfjvgu('.vqk'))
805     vqk = tvg.CnpxVqk(tvg.ercb('bowrpgf/cnpx/%f' % anzr))
806     pbaa.jevgr(fgehpg.cnpx('!V', yra(vqk.znc)))
807     pbaa.jevgr(vqk.znc)
808     pbaa.bx()
809
810
811 qrs erprvir_bowrpgf(pbaa, whax):
812     tybony fhfcraqrq_j
813     tvg.purpx_ercb_be_qvr()
814     fhttrfgrq = {}
815     vs fhfcraqrq_j:
816         j = fhfcraqrq_j
817         fhfcraqrq_j = Abar
818     ryfr:
819         j = tvg.CnpxJevgre()
820     juvyr 1:
821         af = pbaa.ernq(4)
822         vs abg af:
823             j.nobeg()
824             envfr Rkprcgvba('bowrpg ernq: rkcrpgrq yratgu urnqre, tbg RBS\a')
825         a = fgehpg.hacnpx('!V', af)[0]
826         #ybt('rkcrpgvat %q olgrf\a' % a)
827         vs abg a:
828             ybt('ohc freire: erprvirq %q bowrpg%f.\a' 
829                 % (j.pbhag, j.pbhag!=1 naq "f" be ''))
830             shyycngu = j.pybfr()
831             vs shyycngu:
832                 (qve, anzr) = bf.cngu.fcyvg(shyycngu)
833                 pbaa.jevgr('%f.vqk\a' % anzr)
834             pbaa.bx()
835             erghea
836         ryvs a == 0kssssssss:
837             ybt('ohc freire: erprvir-bowrpgf fhfcraqrq.\a')
838             fhfcraqrq_j = j
839             pbaa.bx()
840             erghea
841             
842         ohs = pbaa.ernq(a)  # bowrpg fvmrf va ohc ner ernfbanoyl fznyy
843         #ybt('ernq %q olgrf\a' % a)
844         vs yra(ohs) < a:
845             j.nobeg()
846             envfr Rkprcgvba('bowrpg ernq: rkcrpgrq %q olgrf, tbg %q\a'
847                             % (a, yra(ohs)))
848         (glcr, pbagrag) = tvg._qrpbqr_cnpxbow(ohs)
849         fun = tvg.pnyp_unfu(glcr, pbagrag)
850         byqcnpx = j.rkvfgf(fun)
851         # SVKZR: jr bayl fhttrfg n fvatyr vaqrk cre plpyr, orpnhfr gur pyvrag
852         # vf pheeragyl qhzo gb qbjaybnq zber guna bar cre plpyr naljnl.
853         # Npghnyyl jr fubhyq svk gur pyvrag, ohg guvf vf n zvabe bcgvzvmngvba
854         # ba gur freire fvqr.
855         vs abg fhttrfgrq naq \
856           byqcnpx naq (byqcnpx == Gehr be byqcnpx.raqfjvgu('.zvqk')):
857             # SVKZR: jr fubhyqa'g ernyyl unir gb xabj nobhg zvqk svyrf
858             # ng guvf ynlre.  Ohg rkvfgf() ba n zvqk qbrfa'g erghea gur
859             # cnpxanzr (fvapr vg qbrfa'g xabj)... cebonoyl jr fubhyq whfg
860             # svk gung qrsvpvrapl bs zvqk svyrf riraghnyyl, nygubhtu vg'yy
861             # znxr gur svyrf ovttre.  Guvf zrgubq vf pregnvayl abg irel
862             # rssvpvrag.
863             j.bowpnpur.erserfu(fxvc_zvqk = Gehr)
864             byqcnpx = j.bowpnpur.rkvfgf(fun)
865             ybt('arj fhttrfgvba: %e\a' % byqcnpx)
866             nffreg(byqcnpx)
867             nffreg(byqcnpx != Gehr)
868             nffreg(abg byqcnpx.raqfjvgu('.zvqk'))
869             j.bowpnpur.erserfu(fxvc_zvqk = Snyfr)
870         vs abg fhttrfgrq naq byqcnpx:
871             nffreg(byqcnpx.raqfjvgu('.vqk'))
872             (qve,anzr) = bf.cngu.fcyvg(byqcnpx)
873             vs abg (anzr va fhttrfgrq):
874                 ybt("ohc freire: fhttrfgvat vaqrk %f\a" % anzr)
875                 pbaa.jevgr('vaqrk %f\a' % anzr)
876                 fhttrfgrq[anzr] = 1
877         ryfr:
878             j._enj_jevgr([ohs])
879     # ABGERNPURQ
880
881
882 qrs ernq_ers(pbaa, ersanzr):
883     tvg.purpx_ercb_be_qvr()
884     e = tvg.ernq_ers(ersanzr)
885     pbaa.jevgr('%f\a' % (e be '').rapbqr('urk'))
886     pbaa.bx()
887
888
889 qrs hcqngr_ers(pbaa, ersanzr):
890     tvg.purpx_ercb_be_qvr()
891     arjiny = pbaa.ernqyvar().fgevc()
892     byqiny = pbaa.ernqyvar().fgevc()
893     tvg.hcqngr_ers(ersanzr, arjiny.qrpbqr('urk'), byqiny.qrpbqr('urk'))
894     pbaa.bx()
895
896
897 qrs png(pbaa, vq):
898     tvg.purpx_ercb_be_qvr()
899     gel:
900         sbe oybo va tvg.png(vq):
901             pbaa.jevgr(fgehpg.cnpx('!V', yra(oybo)))
902             pbaa.jevgr(oybo)
903     rkprcg XrlReebe, r:
904         ybt('freire: reebe: %f\a' % r)
905         pbaa.jevgr('\0\0\0\0')
906         pbaa.reebe(r)
907     ryfr:
908         pbaa.jevgr('\0\0\0\0')
909         pbaa.bx()
910
911
912 bcgfcrp = """
913 ohc freire
914 """
915 b = bcgvbaf.Bcgvbaf('ohc freire', bcgfcrp)
916 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
917
918 vs rkgen:
919     b.sngny('ab nethzragf rkcrpgrq')
920
921 ybt('ohc freire: ernqvat sebz fgqva.\a')
922
923 pbzznaqf = {
924     'vavg-qve': vavg_qve,
925     'frg-qve': frg_qve,
926     'yvfg-vaqrkrf': yvfg_vaqrkrf,
927     'fraq-vaqrk': fraq_vaqrk,
928     'erprvir-bowrpgf': erprvir_bowrpgf,
929     'ernq-ers': ernq_ers,
930     'hcqngr-ers': hcqngr_ers,
931     'png': png,
932 }
933
934 # SVKZR: guvf cebgbpby vf gbgnyyl ynzr naq abg ng nyy shgher-cebbs.
935 # (Rfcrpvnyyl fvapr jr nobeg pbzcyrgryl nf fbba nf *nalguvat* onq unccraf)
936 pbaa = Pbaa(flf.fgqva, flf.fgqbhg)
937 ye = yvarernqre(pbaa)
938 sbe _yvar va ye:
939     yvar = _yvar.fgevc()
940     vs abg yvar:
941         pbagvahr
942     ybt('ohc freire: pbzznaq: %e\a' % yvar)
943     jbeqf = yvar.fcyvg(' ', 1)
944     pzq = jbeqf[0]
945     erfg = yra(jbeqf)>1 naq jbeqf[1] be ''
946     vs pzq == 'dhvg':
947         oernx
948     ryfr:
949         pzq = pbzznaqf.trg(pzq)
950         vs pzq:
951             pzq(pbaa, erfg)
952         ryfr:
953             envfr Rkprcgvba('haxabja freire pbzznaq: %e\a' % yvar)
954
955 ybt('ohc freire: qbar\a')
956 #!/hfe/ova/rai clguba
957 vzcbeg flf, gvzr, fgehpg
958 sebz ohc vzcbeg unfufcyvg, tvg, bcgvbaf, pyvrag
959 sebz ohc.urycref vzcbeg *
960 sebz fhocebprff vzcbeg CVCR
961
962
963 bcgfcrp = """
964 ohc wbva [-e ubfg:cngu] [ersf be unfurf...]
965 --
966 e,erzbgr=  erzbgr ercbfvgbel cngu
967 """
968 b = bcgvbaf.Bcgvbaf('ohc wbva', bcgfcrp)
969 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
970
971 tvg.purpx_ercb_be_qvr()
972
973 vs abg rkgen:
974     rkgen = yvarernqre(flf.fgqva)
975
976 erg = 0
977
978 vs bcg.erzbgr:
979     pyv = pyvrag.Pyvrag(bcg.erzbgr)
980     png = pyv.png
981 ryfr:
982     pc = tvg.PngCvcr()
983     png = pc.wbva
984
985 sbe vq va rkgen:
986     gel:
987         sbe oybo va png(vq):
988             flf.fgqbhg.jevgr(oybo)
989     rkprcg XrlReebe, r:
990         flf.fgqbhg.syhfu()
991         ybt('reebe: %f\a' % r)
992         erg = 1
993
994 flf.rkvg(erg)
995 #!/hfe/ova/rai clguba
996 vzcbeg flf, er, reeab, fgng, gvzr, zngu
997 sebz ohc vzcbeg unfufcyvg, tvg, bcgvbaf, vaqrk, pyvrag
998 sebz ohc.urycref vzcbeg *
999
1000
1001 bcgfcrp = """
1002 ohc fnir [-gp] [-a anzr] <svyranzrf...>
1003 --
1004 e,erzbgr=  erzbgr ercbfvgbel cngu
1005 g,gerr     bhgchg n gerr vq
1006 p,pbzzvg   bhgchg n pbzzvg vq
1007 a,anzr=    anzr bs onpxhc frg gb hcqngr (vs nal)
1008 i,ireobfr  vapernfr ybt bhgchg (pna or hfrq zber guna bapr)
1009 d,dhvrg    qba'g fubj cebterff zrgre
1010 fznyyre=   bayl onpx hc svyrf fznyyre guna a olgrf
1011 """
1012 b = bcgvbaf.Bcgvbaf('ohc fnir', bcgfcrp)
1013 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
1014
1015 tvg.purpx_ercb_be_qvr()
1016 vs abg (bcg.gerr be bcg.pbzzvg be bcg.anzr):
1017     b.sngny("hfr bar be zber bs -g, -p, -a")
1018 vs abg rkgen:
1019     b.sngny("ab svyranzrf tvira")
1020
1021 bcg.cebterff = (vfggl naq abg bcg.dhvrg)
1022 bcg.fznyyre = cnefr_ahz(bcg.fznyyre be 0)
1023
1024 vf_erirefr = bf.raiveba.trg('OHC_FREIRE_ERIREFR')
1025 vs vf_erirefr naq bcg.erzbgr:
1026     b.sngny("qba'g hfr -e va erirefr zbqr; vg'f nhgbzngvp")
1027
1028 ersanzr = bcg.anzr naq 'ersf/urnqf/%f' % bcg.anzr be Abar
1029 vs bcg.erzbgr be vf_erirefr:
1030     pyv = pyvrag.Pyvrag(bcg.erzbgr)
1031     byqers = ersanzr naq pyv.ernq_ers(ersanzr) be Abar
1032     j = pyv.arj_cnpxjevgre()
1033 ryfr:
1034     pyv = Abar
1035     byqers = ersanzr naq tvg.ernq_ers(ersanzr) be Abar
1036     j = tvg.CnpxJevgre()
1037
1038 unaqyr_pgey_p()
1039
1040
1041 qrs rngfynfu(qve):
1042     vs qve.raqfjvgu('/'):
1043         erghea qve[:-1]
1044     ryfr:
1045         erghea qve
1046
1047
1048 cnegf = ['']
1049 funyvfgf = [[]]
1050
1051 qrs _chfu(cneg):
1052     nffreg(cneg)
1053     cnegf.nccraq(cneg)
1054     funyvfgf.nccraq([])
1055
1056 qrs _cbc(sbepr_gerr):
1057     nffreg(yra(cnegf) >= 1)
1058     cneg = cnegf.cbc()
1059     funyvfg = funyvfgf.cbc()
1060     gerr = sbepr_gerr be j.arj_gerr(funyvfg)
1061     vs funyvfgf:
1062         funyvfgf[-1].nccraq(('40000', cneg, gerr))
1063     ryfr:  # guvf jnf gur gbcyriry, fb chg vg onpx sbe fnavgl
1064         funyvfgf.nccraq(funyvfg)
1065     erghea gerr
1066
1067 ynfgerznva = Abar
1068 qrs cebterff_ercbeg(a):
1069     tybony pbhag, fhopbhag, ynfgerznva
1070     fhopbhag += a
1071     pp = pbhag + fhopbhag
1072     cpg = gbgny naq (pp*100.0/gbgny) be 0
1073     abj = gvzr.gvzr()
1074     ryncfrq = abj - gfgneg
1075     xcf = ryncfrq naq vag(pp/1024./ryncfrq)
1076     xcf_senp = 10 ** vag(zngu.ybt(xcf+1, 10) - 1)
1077     xcf = vag(xcf/xcf_senp)*xcf_senp
1078     vs pp:
1079         erznva = ryncfrq*1.0/pp * (gbgny-pp)
1080     ryfr:
1081         erznva = 0.0
1082     vs (ynfgerznva naq (erznva > ynfgerznva)
1083           naq ((erznva - ynfgerznva)/ynfgerznva < 0.05)):
1084         erznva = ynfgerznva
1085     ryfr:
1086         ynfgerznva = erznva
1087     ubhef = vag(erznva/60/60)
1088     zvaf = vag(erznva/60 - ubhef*60)
1089     frpf = vag(erznva - ubhef*60*60 - zvaf*60)
1090     vs ryncfrq < 30:
1091         erznvafge = ''
1092         xcffge = ''
1093     ryfr:
1094         xcffge = '%qx/f' % xcf
1095         vs ubhef:
1096             erznvafge = '%qu%qz' % (ubhef, zvaf)
1097         ryvs zvaf:
1098             erznvafge = '%qz%q' % (zvaf, frpf)
1099         ryfr:
1100             erznvafge = '%qf' % frpf
1101     cebterff('Fnivat: %.2s%% (%q/%qx, %q/%q svyrf) %f %f\e'
1102              % (cpg, pp/1024, gbgny/1024, spbhag, sgbgny,
1103                 erznvafge, xcffge))
1104
1105
1106 e = vaqrk.Ernqre(tvg.ercb('ohcvaqrk'))
1107
1108 qrs nyernql_fnirq(rag):
1109     erghea rag.vf_inyvq() naq j.rkvfgf(rag.fun) naq rag.fun
1110
1111 qrs jnagerphefr_cer(rag):
1112     erghea abg nyernql_fnirq(rag)
1113
1114 qrs jnagerphefr_qhevat(rag):
1115     erghea abg nyernql_fnirq(rag) be rag.fun_zvffvat()
1116
1117 gbgny = sgbgny = 0
1118 vs bcg.cebterff:
1119     sbe (genafanzr,rag) va e.svygre(rkgen, jnagerphefr=jnagerphefr_cer):
1120         vs abg (sgbgny % 10024):
1121             cebterff('Ernqvat vaqrk: %q\e' % sgbgny)
1122         rkvfgf = rag.rkvfgf()
1123         unfuinyvq = nyernql_fnirq(rag)
1124         rag.frg_fun_zvffvat(abg unfuinyvq)
1125         vs abg bcg.fznyyre be rag.fvmr < bcg.fznyyre:
1126             vs rkvfgf naq abg unfuinyvq:
1127                 gbgny += rag.fvmr
1128         sgbgny += 1
1129     cebterff('Ernqvat vaqrk: %q, qbar.\a' % sgbgny)
1130     unfufcyvg.cebterff_pnyyonpx = cebterff_ercbeg
1131
1132 gfgneg = gvzr.gvzr()
1133 pbhag = fhopbhag = spbhag = 0
1134 ynfgfxvc_anzr = Abar
1135 ynfgqve = ''
1136 sbe (genafanzr,rag) va e.svygre(rkgen, jnagerphefr=jnagerphefr_qhevat):
1137     (qve, svyr) = bf.cngu.fcyvg(rag.anzr)
1138     rkvfgf = (rag.syntf & vaqrk.VK_RKVFGF)
1139     unfuinyvq = nyernql_fnirq(rag)
1140     jnfzvffvat = rag.fun_zvffvat()
1141     byqfvmr = rag.fvmr
1142     vs bcg.ireobfr:
1143         vs abg rkvfgf:
1144             fgnghf = 'Q'
1145         ryvs abg unfuinyvq:
1146             vs rag.fun == vaqrk.RZCGL_FUN:
1147                 fgnghf = 'N'
1148             ryfr:
1149                 fgnghf = 'Z'
1150         ryfr:
1151             fgnghf = ' '
1152         vs bcg.ireobfr >= 2:
1153             ybt('%f %-70f\a' % (fgnghf, rag.anzr))
1154         ryvs abg fgng.F_VFQVE(rag.zbqr) naq ynfgqve != qve:
1155             vs abg ynfgqve.fgnegfjvgu(qve):
1156                 ybt('%f %-70f\a' % (fgnghf, bf.cngu.wbva(qve, '')))
1157             ynfgqve = qve
1158
1159     vs bcg.cebterff:
1160         cebterff_ercbeg(0)
1161     spbhag += 1
1162     
1163     vs abg rkvfgf:
1164         pbagvahr
1165     vs bcg.fznyyre naq rag.fvmr >= bcg.fznyyre:
1166         vs rkvfgf naq abg unfuinyvq:
1167             nqq_reebe('fxvccvat ynetr svyr "%f"' % rag.anzr)
1168             ynfgfxvc_anzr = rag.anzr
1169         pbagvahr
1170
1171     nffreg(qve.fgnegfjvgu('/'))
1172     qvec = qve.fcyvg('/')
1173     juvyr cnegf > qvec:
1174         _cbc(sbepr_gerr = Abar)
1175     vs qve != '/':
1176         sbe cneg va qvec[yra(cnegf):]:
1177             _chfu(cneg)
1178
1179     vs abg svyr:
1180         # ab svyranzr cbegvba zrnaf guvf vf n fhoqve.  Ohg
1181         # fho/cneragqverpgbevrf nyernql unaqyrq va gur cbc/chfu() cneg nobir.
1182         byqgerr = nyernql_fnirq(rag) # znl or Abar
1183         arjgerr = _cbc(sbepr_gerr = byqgerr)
1184         vs abg byqgerr:
1185             vs ynfgfxvc_anzr naq ynfgfxvc_anzr.fgnegfjvgu(rag.anzr):
1186                 rag.vainyvqngr()
1187             ryfr:
1188                 rag.inyvqngr(040000, arjgerr)
1189             rag.ercnpx()
1190         vs rkvfgf naq jnfzvffvat:
1191             pbhag += byqfvmr
1192         pbagvahr
1193
1194     # vg'f abg n qverpgbel
1195     vq = Abar
1196     vs unfuinyvq:
1197         zbqr = '%b' % rag.tvgzbqr
1198         vq = rag.fun
1199         funyvfgf[-1].nccraq((zbqr, 
1200                              tvg.znatyr_anzr(svyr, rag.zbqr, rag.tvgzbqr),
1201                              vq))
1202     ryfr:
1203         vs fgng.F_VFERT(rag.zbqr):
1204             gel:
1205                 s = unfufcyvg.bcra_abngvzr(rag.anzr)
1206             rkprcg VBReebe, r:
1207                 nqq_reebe(r)
1208                 ynfgfxvc_anzr = rag.anzr
1209             rkprcg BFReebe, r:
1210                 nqq_reebe(r)
1211                 ynfgfxvc_anzr = rag.anzr
1212             ryfr:
1213                 (zbqr, vq) = unfufcyvg.fcyvg_gb_oybo_be_gerr(j, [s])
1214         ryfr:
1215             vs fgng.F_VFQVE(rag.zbqr):
1216                 nffreg(0)  # unaqyrq nobir
1217             ryvs fgng.F_VFYAX(rag.zbqr):
1218                 gel:
1219                     ey = bf.ernqyvax(rag.anzr)
1220                 rkprcg BFReebe, r:
1221                     nqq_reebe(r)
1222                     ynfgfxvc_anzr = rag.anzr
1223                 rkprcg VBReebe, r:
1224                     nqq_reebe(r)
1225                     ynfgfxvc_anzr = rag.anzr
1226                 ryfr:
1227                     (zbqr, vq) = ('120000', j.arj_oybo(ey))
1228             ryfr:
1229                 nqq_reebe(Rkprcgvba('fxvccvat fcrpvny svyr "%f"' % rag.anzr))
1230                 ynfgfxvc_anzr = rag.anzr
1231         vs vq:
1232             rag.inyvqngr(vag(zbqr, 8), vq)
1233             rag.ercnpx()
1234             funyvfgf[-1].nccraq((zbqr,
1235                                  tvg.znatyr_anzr(svyr, rag.zbqr, rag.tvgzbqr),
1236                                  vq))
1237     vs rkvfgf naq jnfzvffvat:
1238         pbhag += byqfvmr
1239         fhopbhag = 0
1240
1241
1242 vs bcg.cebterff:
1243     cpg = gbgny naq pbhag*100.0/gbgny be 100
1244     cebterff('Fnivat: %.2s%% (%q/%qx, %q/%q svyrf), qbar.    \a'
1245              % (cpg, pbhag/1024, gbgny/1024, spbhag, sgbgny))
1246
1247 juvyr yra(cnegf) > 1:
1248     _cbc(sbepr_gerr = Abar)
1249 nffreg(yra(funyvfgf) == 1)
1250 gerr = j.arj_gerr(funyvfgf[-1])
1251 vs bcg.gerr:
1252     cevag gerr.rapbqr('urk')
1253 vs bcg.pbzzvg be bcg.anzr:
1254     zft = 'ohc fnir\a\aTrarengrq ol pbzznaq:\a%e' % flf.neti
1255     ers = bcg.anzr naq ('ersf/urnqf/%f' % bcg.anzr) be Abar
1256     pbzzvg = j.arj_pbzzvg(byqers, gerr, zft)
1257     vs bcg.pbzzvg:
1258         cevag pbzzvg.rapbqr('urk')
1259
1260 j.pybfr()  # zhfg pybfr orsber jr pna hcqngr gur ers
1261         
1262 vs bcg.anzr:
1263     vs pyv:
1264         pyv.hcqngr_ers(ersanzr, pbzzvg, byqers)
1265     ryfr:
1266         tvg.hcqngr_ers(ersanzr, pbzzvg, byqers)
1267
1268 vs pyv:
1269     pyv.pybfr()
1270
1271 vs fnirq_reebef:
1272     ybt('JNEAVAT: %q reebef rapbhagrerq juvyr fnivat.\a' % yra(fnirq_reebef))
1273     flf.rkvg(1)
1274 #!/hfe/ova/rai clguba
1275 vzcbeg flf, gvzr
1276 sebz ohc vzcbeg bcgvbaf
1277
1278 bcgfcrp = """
1279 ohc gvpx
1280 """
1281 b = bcgvbaf.Bcgvbaf('ohc gvpx', bcgfcrp)
1282 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
1283
1284 vs rkgen:
1285     b.sngny("ab nethzragf rkcrpgrq")
1286
1287 g = gvzr.gvzr()
1288 gyrsg = 1 - (g - vag(g))
1289 gvzr.fyrrc(gyrsg)
1290 #!/hfe/ova/rai clguba
1291 vzcbeg bf, flf, fgng, gvzr
1292 sebz ohc vzcbeg bcgvbaf, tvg, vaqrk, qerphefr
1293 sebz ohc.urycref vzcbeg *
1294
1295
1296 qrs zretr_vaqrkrf(bhg, e1, e2):
1297     sbe r va vaqrk.ZretrVgre([e1, e2]):
1298         # SVKZR: fubhyqa'g jr erzbir qryrgrq ragevrf riraghnyyl?  Jura?
1299         bhg.nqq_vkragel(r)
1300
1301
1302 pynff VgreUrycre:
1303     qrs __vavg__(frys, y):
1304         frys.v = vgre(y)
1305         frys.phe = Abar
1306         frys.arkg()
1307
1308     qrs arkg(frys):
1309         gel:
1310             frys.phe = frys.v.arkg()
1311         rkprcg FgbcVgrengvba:
1312             frys.phe = Abar
1313         erghea frys.phe
1314
1315
1316 qrs purpx_vaqrk(ernqre):
1317     gel:
1318         ybt('purpx: purpxvat sbejneq vgrengvba...\a')
1319         r = Abar
1320         q = {}
1321         sbe r va ernqre.sbejneq_vgre():
1322             vs r.puvyqera_a:
1323                 vs bcg.ireobfr:
1324                     ybt('%08k+%-4q %e\a' % (r.puvyqera_bsf, r.puvyqera_a,
1325                                             r.anzr))
1326                 nffreg(r.puvyqera_bsf)
1327                 nffreg(r.anzr.raqfjvgu('/'))
1328                 nffreg(abg q.trg(r.puvyqera_bsf))
1329                 q[r.puvyqera_bsf] = 1
1330             vs r.syntf & vaqrk.VK_UNFUINYVQ:
1331                 nffreg(r.fun != vaqrk.RZCGL_FUN)
1332                 nffreg(r.tvgzbqr)
1333         nffreg(abg r be r.anzr == '/')  # ynfg ragel vf *nyjnlf* /
1334         ybt('purpx: purpxvat abezny vgrengvba...\a')
1335         ynfg = Abar
1336         sbe r va ernqre:
1337             vs ynfg:
1338                 nffreg(ynfg > r.anzr)
1339             ynfg = r.anzr
1340     rkprcg:
1341         ybt('vaqrk reebe! ng %e\a' % r)
1342         envfr
1343     ybt('purpx: cnffrq.\a')
1344
1345
1346 qrs hcqngr_vaqrk(gbc):
1347     ev = vaqrk.Ernqre(vaqrksvyr)
1348     jv = vaqrk.Jevgre(vaqrksvyr)
1349     evt = VgreUrycre(ev.vgre(anzr=gbc))
1350     gfgneg = vag(gvzr.gvzr())
1351
1352     unfutra = Abar
1353     vs bcg.snxr_inyvq:
1354         qrs unfutra(anzr):
1355             erghea (0100644, vaqrk.SNXR_FUN)
1356
1357     gbgny = 0
1358     sbe (cngu,cfg) va qerphefr.erphefvir_qveyvfg([gbc], kqri=bcg.kqri):
1359         vs bcg.ireobfr>=2 be (bcg.ireobfr==1 naq fgng.F_VFQVE(cfg.fg_zbqr)):
1360             flf.fgqbhg.jevgr('%f\a' % cngu)
1361             flf.fgqbhg.syhfu()
1362             cebterff('Vaqrkvat: %q\e' % gbgny)
1363         ryvs abg (gbgny % 128):
1364             cebterff('Vaqrkvat: %q\e' % gbgny)
1365         gbgny += 1
1366         juvyr evt.phe naq evt.phe.anzr > cngu:  # qryrgrq cnguf
1367             vs evt.phe.rkvfgf():
1368                 evt.phe.frg_qryrgrq()
1369                 evt.phe.ercnpx()
1370             evt.arkg()
1371         vs evt.phe naq evt.phe.anzr == cngu:    # cnguf gung nyernql rkvfgrq
1372             vs cfg:
1373                 evt.phe.sebz_fgng(cfg, gfgneg)
1374             vs abg (evt.phe.syntf & vaqrk.VK_UNFUINYVQ):
1375                 vs unfutra:
1376                     (evt.phe.tvgzbqr, evt.phe.fun) = unfutra(cngu)
1377                     evt.phe.syntf |= vaqrk.VK_UNFUINYVQ
1378             vs bcg.snxr_vainyvq:
1379                 evt.phe.vainyvqngr()
1380             evt.phe.ercnpx()
1381             evt.arkg()
1382         ryfr:  # arj cnguf
1383             jv.nqq(cngu, cfg, unfutra = unfutra)
1384     cebterff('Vaqrkvat: %q, qbar.\a' % gbgny)
1385     
1386     vs ev.rkvfgf():
1387         ev.fnir()
1388         jv.syhfu()
1389         vs jv.pbhag:
1390             je = jv.arj_ernqre()
1391             vs bcg.purpx:
1392                 ybt('purpx: orsber zretvat: byqsvyr\a')
1393                 purpx_vaqrk(ev)
1394                 ybt('purpx: orsber zretvat: arjsvyr\a')
1395                 purpx_vaqrk(je)
1396             zv = vaqrk.Jevgre(vaqrksvyr)
1397             zretr_vaqrkrf(zv, ev, je)
1398             ev.pybfr()
1399             zv.pybfr()
1400             je.pybfr()
1401         jv.nobeg()
1402     ryfr:
1403         jv.pybfr()
1404
1405
1406 bcgfcrp = """
1407 ohc vaqrk <-c|z|h> [bcgvbaf...] <svyranzrf...>
1408 --
1409 c,cevag    cevag gur vaqrk ragevrf sbe gur tvira anzrf (nyfb jbexf jvgu -h)
1410 z,zbqvsvrq cevag bayl nqqrq/qryrgrq/zbqvsvrq svyrf (vzcyvrf -c)
1411 f,fgnghf   cevag rnpu svyranzr jvgu n fgnghf pune (N/Z/Q) (vzcyvrf -c)
1412 U,unfu     cevag gur unfu sbe rnpu bowrpg arkg gb vgf anzr (vzcyvrf -c)
1413 y,ybat     cevag zber vasbezngvba nobhg rnpu svyr
1414 h,hcqngr   (erphefviryl) hcqngr gur vaqrk ragevrf sbe gur tvira svyranzrf
1415 k,kqri,bar-svyr-flfgrz  qba'g pebff svyrflfgrz obhaqnevrf
1416 snxr-inyvq znex nyy vaqrk ragevrf nf hc-gb-qngr rira vs gurl nera'g
1417 snxr-vainyvq znex nyy vaqrk ragevrf nf vainyvq
1418 purpx      pnershyyl purpx vaqrk svyr vagrtevgl
1419 s,vaqrksvyr=  gur anzr bs gur vaqrk svyr (qrsnhyg 'vaqrk')
1420 i,ireobfr  vapernfr ybt bhgchg (pna or hfrq zber guna bapr)
1421 """
1422 b = bcgvbaf.Bcgvbaf('ohc vaqrk', bcgfcrp)
1423 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
1424
1425 vs abg (bcg.zbqvsvrq be bcg['cevag'] be bcg.fgnghf be bcg.hcqngr be bcg.purpx):
1426     b.sngny('fhccyl bar be zber bs -c, -f, -z, -h, be --purpx')
1427 vs (bcg.snxr_inyvq be bcg.snxr_vainyvq) naq abg bcg.hcqngr:
1428     b.sngny('--snxr-{va,}inyvq ner zrnavatyrff jvgubhg -h')
1429 vs bcg.snxr_inyvq naq bcg.snxr_vainyvq:
1430     b.sngny('--snxr-inyvq vf vapbzcngvoyr jvgu --snxr-vainyvq')
1431
1432 tvg.purpx_ercb_be_qvr()
1433 vaqrksvyr = bcg.vaqrksvyr be tvg.ercb('ohcvaqrk')
1434
1435 unaqyr_pgey_p()
1436
1437 vs bcg.purpx:
1438     ybt('purpx: fgnegvat vavgvny purpx.\a')
1439     purpx_vaqrk(vaqrk.Ernqre(vaqrksvyr))
1440
1441 cnguf = vaqrk.erqhpr_cnguf(rkgen)
1442
1443 vs bcg.hcqngr:
1444     vs abg cnguf:
1445         b.sngny('hcqngr (-h) erdhrfgrq ohg ab cnguf tvira')
1446     sbe (ec,cngu) va cnguf:
1447         hcqngr_vaqrk(ec)
1448
1449 vs bcg['cevag'] be bcg.fgnghf be bcg.zbqvsvrq:
1450     sbe (anzr, rag) va vaqrk.Ernqre(vaqrksvyr).svygre(rkgen be ['']):
1451         vs (bcg.zbqvsvrq 
1452             naq (rag.vf_inyvq() be rag.vf_qryrgrq() be abg rag.zbqr)):
1453             pbagvahr
1454         yvar = ''
1455         vs bcg.fgnghf:
1456             vs rag.vf_qryrgrq():
1457                 yvar += 'Q '
1458             ryvs abg rag.vf_inyvq():
1459                 vs rag.fun == vaqrk.RZCGL_FUN:
1460                     yvar += 'N '
1461                 ryfr:
1462                     yvar += 'Z '
1463             ryfr:
1464                 yvar += '  '
1465         vs bcg.unfu:
1466             yvar += rag.fun.rapbqr('urk') + ' '
1467         vs bcg.ybat:
1468             yvar += "%7f %7f " % (bpg(rag.zbqr), bpg(rag.tvgzbqr))
1469         cevag yvar + (anzr be './')
1470
1471 vs bcg.purpx naq (bcg['cevag'] be bcg.fgnghf be bcg.zbqvsvrq be bcg.hcqngr):
1472     ybt('purpx: fgnegvat svany purpx.\a')
1473     purpx_vaqrk(vaqrk.Ernqre(vaqrksvyr))
1474
1475 vs fnirq_reebef:
1476     ybt('JNEAVAT: %q reebef rapbhagrerq.\a' % yra(fnirq_reebef))
1477     flf.rkvg(1)
1478 #!/hfe/ova/rai clguba
1479 vzcbeg flf, bf, fgehpg
1480 sebz ohc vzcbeg bcgvbaf, urycref
1481
1482 bcgfcrp = """
1483 ohc eonpxhc-freire
1484 --
1485     Guvf pbzznaq vf abg vagraqrq gb or eha znahnyyl.
1486 """
1487 b = bcgvbaf.Bcgvbaf('ohc eonpxhc-freire', bcgfcrp)
1488 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
1489 vs rkgen:
1490     b.sngny('ab nethzragf rkcrpgrq')
1491
1492 # trg gur fhopbzznaq'f neti.
1493 # Abeznyyl jr pbhyq whfg cnff guvf ba gur pbzznaq yvar, ohg fvapr jr'yy bsgra
1494 # or trggvat pnyyrq ba gur bgure raq bs na ffu cvcr, juvpu graqf gb znatyr
1495 # neti (ol fraqvat vg ivn gur furyy), guvf jnl vf zhpu fnsre.
1496 ohs = flf.fgqva.ernq(4)
1497 fm = fgehpg.hacnpx('!V', ohs)[0]
1498 nffreg(fm > 0)
1499 nffreg(fm < 1000000)
1500 ohs = flf.fgqva.ernq(fm)
1501 nffreg(yra(ohs) == fm)
1502 neti = ohs.fcyvg('\0')
1503
1504 # fgqva/fgqbhg ner fhccbfrqyl pbaarpgrq gb 'ohc freire' gung gur pnyyre
1505 # fgnegrq sbe hf (bsgra ba gur bgure raq bs na ffu ghaary), fb jr qba'g jnag
1506 # gb zvfhfr gurz.  Zbir gurz bhg bs gur jnl, gura ercynpr fgqbhg jvgu
1507 # n cbvagre gb fgqree va pnfr bhe fhopbzznaq jnagf gb qb fbzrguvat jvgu vg.
1508 #
1509 # Vg zvtug or avpr gb qb gur fnzr jvgu fgqva, ohg zl rkcrevzragf fubjrq gung
1510 # ffu frrzf gb znxr vgf puvyq'f fgqree n ernqnoyr-ohg-arire-ernqf-nalguvat
1511 # fbpxrg.  Gurl ernyyl fubhyq unir hfrq fuhgqbja(FUHG_JE) ba gur bgure raq
1512 # bs vg, ohg cebonoyl qvqa'g.  Naljnl, vg'f gbb zrffl, fb yrg'f whfg znxr fher
1513 # nalbar ernqvat sebz fgqva vf qvfnccbvagrq.
1514 #
1515 # (Lbh pna'g whfg yrnir fgqva/fgqbhg "abg bcra" ol pybfvat gur svyr
1516 # qrfpevcgbef.  Gura gur arkg svyr gung bcraf vf nhgbzngvpnyyl nffvtarq 0 be 1,
1517 # naq crbcyr *gelvat* gb ernq/jevgr fgqva/fgqbhg trg fperjrq.)
1518 bf.qhc2(0, 3)
1519 bf.qhc2(1, 4)
1520 bf.qhc2(2, 1)
1521 va nccebkvzngryl gur fnzr cynprEQBAYL)
1522 naq qvfgevo-0)
1523 hgvba nf(sq)
1524
1525 va gur bevtvany grfg svyrfREFR'] = urycref.ubfganzr()
1526 bf.rkrpic(neti[0], neti)
1527 flf.rkvg(99)
1528 #!/hfe/ova/rai clguba
1529 vzcbeg flf, bf, tybo, fhocebprff, gvzr
1530 sebz ohc vzcbeg bcgvbaf, tvg
1531 sebz ohc.urycref vzcbeg *
1532
1533 cne2_bx = 0
1534 ahyys = bcra('/qri/ahyy')
1535
1536 qrs qroht(f):
1537     vs bcg.ireobfr:
1538         ybt(f)
1539
1540 qrs eha(neti):
1541     # ng yrnfg va clguba 2.5, hfvat "fgqbhg=2" be "fgqbhg=flf.fgqree" orybj
1542     # qbrfa'g npghnyyl jbex, orpnhfr fhocebprff pybfrf sq #2 evtug orsber
1543     # rkrpvat sbe fbzr ernfba.  Fb jr jbex nebhaq vg ol qhcyvpngvat gur sq
1544     # svefg.
1545     sq = bf.qhc(2)  # pbcl fgqree
1546     gel:
1547         c = fhocebprff.Cbcra(neti, fgqbhg=sq, pybfr_sqf=Snyfr)
1548         erghea c.jnvg()
1549     svanyyl:
1550         bf.pybfr(sq)
1551
1552 qrs cne2_frghc():
1553     tybony cne2_bx
1554     ei = 1
1555     gel:
1556         c = fhocebprff.Cbcra(['cne2', '--uryc'],
1557                              fgqbhg=ahyys, fgqree=ahyys, fgqva=ahyys)
1558         ei = c.jnvg()
1559     rkprcg BFReebe:
1560         ybt('sfpx: jneavat: cne2 abg sbhaq; qvfnoyvat erpbirel srngherf.\a')
1561     ryfr:
1562         cne2_bx = 1
1563
1564 qrs cnei(yiy):
1565     vs bcg.ireobfr >= yiy:
1566         vs vfggl:
1567             erghea []
1568         ryfr:
1569             erghea ['-d']
1570     ryfr:
1571         erghea ['-dd']
1572
1573 qrs cne2_trarengr(onfr):
1574     erghea eha(['cne2', 'perngr', '-a1', '-p200'] + cnei(2)
1575                + ['--', onfr, onfr+'.cnpx', onfr+'.vqk'])
1576
1577 qrs cne2_irevsl(onfr):
1578     erghea eha(['cne2', 'irevsl'] + cnei(3) + ['--', onfr])
1579
1580 qrs cne2_ercnve(onfr):
1581     erghea eha(['cne2', 'ercnve'] + cnei(2) + ['--', onfr])
1582
1583 qrs dhvpx_irevsl(onfr):
1584     s = bcra(onfr + '.cnpx', 'eo')
1585     s.frrx(-20, 2)
1586     jnagfhz = s.ernq(20)
1587     nffreg(yra(jnagfhz) == 20)
1588     s.frrx(0)
1589     fhz = Fun1()
1590     sbe o va puhaxlernqre(s, bf.sfgng(s.svyrab()).fg_fvmr - 20):
1591         fhz.hcqngr(o)
1592     vs fhz.qvtrfg() != jnagfhz:
1593         envfr InyhrReebe('rkcrpgrq %e, tbg %e' % (jnagfhz.rapbqr('urk'),
1594                                                   fhz.urkqvtrfg()))
1595         
1596
1597 qrs tvg_irevsl(onfr):
1598     vs bcg.dhvpx:
1599         gel:
1600             dhvpx_irevsl(onfr)
1601         rkprcg Rkprcgvba, r:
1602             qroht('reebe: %f\a' % r)
1603             erghea 1
1604         erghea 0
1605     ryfr:
1606         erghea eha(['tvg', 'irevsl-cnpx', '--', onfr])
1607     
1608     
1609 qrs qb_cnpx(onfr, ynfg):
1610     pbqr = 0
1611     vs cne2_bx naq cne2_rkvfgf naq (bcg.ercnve be abg bcg.trarengr):
1612         ierfhyg = cne2_irevsl(onfr)
1613         vs ierfhyg != 0:
1614             vs bcg.ercnve:
1615                 eerfhyg = cne2_ercnve(onfr)
1616                 vs eerfhyg != 0:
1617                     cevag '%f cne2 ercnve: snvyrq (%q)' % (ynfg, eerfhyg)
1618                     pbqr = eerfhyg
1619                 ryfr:
1620                     cevag '%f cne2 ercnve: fhpprrqrq (0)' % ynfg
1621                     pbqr = 100
1622             ryfr:
1623                 cevag '%f cne2 irevsl: snvyrq (%q)' % (ynfg, ierfhyg)
1624                 pbqr = ierfhyg
1625         ryfr:
1626             cevag '%f bx' % ynfg
1627     ryvs abg bcg.trarengr be (cne2_bx naq abg cne2_rkvfgf):
1628         terfhyg = tvg_irevsl(onfr)
1629         vs terfhyg != 0:
1630             cevag '%f tvg irevsl: snvyrq (%q)' % (ynfg, terfhyg)
1631             pbqr = terfhyg
1632         ryfr:
1633             vs cne2_bx naq bcg.trarengr:
1634                 cerfhyg = cne2_trarengr(onfr)
1635                 vs cerfhyg != 0:
1636                     cevag '%f cne2 perngr: snvyrq (%q)' % (ynfg, cerfhyg)
1637                     pbqr = cerfhyg
1638                 ryfr:
1639                     cevag '%f bx' % ynfg
1640             ryfr:
1641                 cevag '%f bx' % ynfg
1642     ryfr:
1643         nffreg(bcg.trarengr naq (abg cne2_bx be cne2_rkvfgf))
1644         qroht('    fxvccrq: cne2 svyr nyernql trarengrq.\a')
1645     erghea pbqr
1646
1647
1648 bcgfcrp = """
1649 ohc sfpx [bcgvbaf...] [svyranzrf...]
1650 --
1651 e,ercnve    nggrzcg gb ercnve reebef hfvat cne2 (qnatrebhf!)
1652 t,trarengr  trarengr nhgb-ercnve vasbezngvba hfvat cne2
1653 i,ireobfr   vapernfr ireobfvgl (pna or hfrq zber guna bapr)
1654 dhvpx       whfg purpx cnpx fun1fhz, qba'g hfr tvg irevsl-cnpx
1655 w,wbof=     eha 'a' wbof va cnenyyry
1656 cne2-bx     vzzrqvngryl erghea 0 vs cne2 vf bx, 1 vs abg
1657 qvfnoyr-cne2  vtaber cne2 rira vs vg vf ninvynoyr
1658 """
1659 b = bcgvbaf.Bcgvbaf('ohc sfpx', bcgfcrp)
1660 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
1661
1662 cne2_frghc()
1663 vs bcg.cne2_bx:
1664     vs cne2_bx:
1665         flf.rkvg(0)  # 'gehr' va fu
1666     ryfr:
1667         flf.rkvg(1)
1668 vs bcg.qvfnoyr_cne2:
1669     cne2_bx = 0
1670
1671 tvg.purpx_ercb_be_qvr()
1672
1673 vs abg rkgen:
1674     qroht('sfpx: Ab svyranzrf tvira: purpxvat nyy cnpxf.\a')
1675     rkgen = tybo.tybo(tvg.ercb('bowrpgf/cnpx/*.cnpx'))
1676
1677 pbqr = 0
1678 pbhag = 0
1679 bhgfgnaqvat = {}
1680 sbe anzr va rkgen:
1681     vs anzr.raqfjvgu('.cnpx'):
1682         onfr = anzr[:-5]
1683     ryvs anzr.raqfjvgu('.vqk'):
1684         onfr = anzr[:-4]
1685     ryvs anzr.raqfjvgu('.cne2'):
1686         onfr = anzr[:-5]
1687     ryvs bf.cngu.rkvfgf(anzr + '.cnpx'):
1688         onfr = anzr
1689     ryfr:
1690         envfr Rkprcgvba('%f vf abg n cnpx svyr!' % anzr)
1691     (qve,ynfg) = bf.cngu.fcyvg(onfr)
1692     cne2_rkvfgf = bf.cngu.rkvfgf(onfr + '.cne2')
1693     vs cne2_rkvfgf naq bf.fgng(onfr + '.cne2').fg_fvmr == 0:
1694         cne2_rkvfgf = 0
1695     flf.fgqbhg.syhfu()
1696     qroht('sfpx: purpxvat %f (%f)\a' 
1697           % (ynfg, cne2_bx naq cne2_rkvfgf naq 'cne2' be 'tvg'))
1698     vs abg bcg.ireobfr:
1699         cebterff('sfpx (%q/%q)\e' % (pbhag, yra(rkgen)))
1700     
1701     vs abg bcg.wbof:
1702         ap = qb_cnpx(onfr, ynfg)
1703         pbqr = pbqr be ap
1704         pbhag += 1
1705     ryfr:
1706         juvyr yra(bhgfgnaqvat) >= bcg.wbof:
1707             (cvq,ap) = bf.jnvg()
1708             ap >>= 8
1709             vs cvq va bhgfgnaqvat:
1710                 qry bhgfgnaqvat[cvq]
1711                 pbqr = pbqr be ap
1712                 pbhag += 1
1713         cvq = bf.sbex()
1714         vs cvq:  # cnerag
1715             bhgfgnaqvat[cvq] = 1
1716         ryfr: # puvyq
1717             gel:
1718                 flf.rkvg(qb_cnpx(onfr, ynfg))
1719             rkprcg Rkprcgvba, r:
1720                 ybt('rkprcgvba: %e\a' % r)
1721                 flf.rkvg(99)
1722                 
1723 juvyr yra(bhgfgnaqvat):
1724     (cvq,ap) = bf.jnvg()
1725     ap >>= 8
1726     vs cvq va bhgfgnaqvat:
1727         qry bhgfgnaqvat[cvq]
1728         pbqr = pbqr be ap
1729         pbhag += 1
1730     vs abg bcg.ireobfr:
1731         cebterff('sfpx (%q/%q)\e' % (pbhag, yra(rkgen)))
1732
1733 vs abg bcg.ireobfr naq vfggl:
1734     ybt('sfpx qbar.           \a')
1735 flf.rkvg(pbqr)
1736 #!/hfe/ova/rai clguba
1737 vzcbeg flf, bf, fgehpg, trgbcg, fhocebprff, fvtany
1738 sebz ohc vzcbeg bcgvbaf, ffu
1739 sebz ohc.urycref vzcbeg *
1740
1741 bcgfcrp = """
1742 ohc eonpxhc <ubfganzr> vaqrk ...
1743 ohc eonpxhc <ubfganzr> fnir ...
1744 ohc eonpxhc <ubfganzr> fcyvg ...
1745 """
1746 b = bcgvbaf.Bcgvbaf('ohc eonpxhc', bcgfcrp, bcgshap=trgbcg.trgbcg)
1747 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
1748 vs yra(rkgen) < 2:
1749     b.sngny('nethzragf rkcrpgrq')
1750
1751 pynff FvtRkprcgvba(Rkprcgvba):
1752     qrs __vavg__(frys, fvtahz):
1753         frys.fvtahz = fvtahz
1754         Rkprcgvba.__vavg__(frys, 'fvtany %q erprvirq' % fvtahz)
1755 qrs unaqyre(fvtahz, senzr):
1756     envfr FvtRkprcgvba(fvtahz)
1757
1758 fvtany.fvtany(fvtany.FVTGREZ, unaqyre)
1759 fvtany.fvtany(fvtany.FVTVAG, unaqyre)
1760
1761 fc = Abar
1762 c = Abar
1763 erg = 99
1764
1765 gel:
1766     ubfganzr = rkgen[0]
1767     neti = rkgen[1:]
1768     c = ffu.pbaarpg(ubfganzr, 'eonpxhc-freire')
1769
1770     netif = '\0'.wbva(['ohc'] + neti)
1771     c.fgqva.jevgr(fgehpg.cnpx('!V', yra(netif)) + netif)
1772     c.fgqva.syhfu()
1773
1774     znva_rkr = bf.raiveba.trg('OHC_ZNVA_RKR') be flf.neti[0]
1775     fc = fhocebprff.Cbcra([znva_rkr, 'freire'], fgqva=c.fgqbhg, fgqbhg=c.fgqva)
1776
1777     c.fgqva.pybfr()
1778     c.fgqbhg.pybfr()
1779
1780 svanyyl:
1781     juvyr 1:
1782         # vs jr trg n fvtany juvyr jnvgvat, jr unir gb xrrc jnvgvat, whfg
1783         # va pnfr bhe puvyq qbrfa'g qvr.
1784         gel:
1785             erg = c.jnvg()
1786             fc.jnvg()
1787             oernx
1788         rkprcg FvtRkprcgvba, r:
1789             ybt('\aohc eonpxhc: %f\a' % r)
1790             bf.xvyy(c.cvq, r.fvtahz)
1791             erg = 84
1792 flf.rkvg(erg)
1793 #!/hfe/ova/rai clguba
1794 vzcbeg flf, bf, er
1795 sebz ohc vzcbeg bcgvbaf
1796
1797 bcgfcrp = """
1798 ohc arjyvare
1799 """
1800 b = bcgvbaf.Bcgvbaf('ohc arjyvare', bcgfcrp)
1801 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
1802
1803 vs rkgen:
1804     b.sngny("ab nethzragf rkcrpgrq")
1805
1806 e = er.pbzcvyr(e'([\e\a])')
1807 ynfgyra = 0
1808 nyy = ''
1809 juvyr 1:
1810     y = e.fcyvg(nyy, 1)
1811     vs yra(y) <= 1:
1812         gel:
1813             o = bf.ernq(flf.fgqva.svyrab(), 4096)
1814         rkprcg XrlobneqVagreehcg:
1815             oernx
1816         vs abg o:
1817             oernx
1818         nyy += o
1819     ryfr:
1820         nffreg(yra(y) == 3)
1821         (yvar, fcyvgpune, nyy) = y
1822         #fcyvgpune = '\a'
1823         flf.fgqbhg.jevgr('%-*f%f' % (ynfgyra, yvar, fcyvgpune))
1824         vs fcyvgpune == '\e':
1825             ynfgyra = yra(yvar)
1826         ryfr:
1827             ynfgyra = 0
1828         flf.fgqbhg.syhfu()
1829
1830 vs ynfgyra be nyy:
1831     flf.fgqbhg.jevgr('%-*f\a' % (ynfgyra, nyy))
1832 #!/hfe/ova/rai clguba
1833 vzcbeg flf
1834 sebz ohc vzcbeg bcgvbaf, tvg, _unfufcyvg
1835 sebz ohc.urycref vzcbeg *
1836
1837
1838 bcgfcrp = """
1839 ohc znetva
1840 """
1841 b = bcgvbaf.Bcgvbaf('ohc znetva', bcgfcrp)
1842 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
1843
1844 vs rkgen:
1845     b.sngny("ab nethzragf rkcrpgrq")
1846
1847 tvg.purpx_ercb_be_qvr()
1848 #tvg.vtaber_zvqk = 1
1849
1850 zv = tvg.CnpxVqkYvfg(tvg.ercb('bowrpgf/cnpx'))
1851 ynfg = '\0'*20
1852 ybatzngpu = 0
1853 sbe v va zv:
1854     vs v == ynfg:
1855         pbagvahr
1856     #nffreg(fge(v) >= ynfg)
1857     cz = _unfufcyvg.ovgzngpu(ynfg, v)
1858     ybatzngpu = znk(ybatzngpu, cz)
1859     ynfg = v
1860 cevag ybatzngpu
1861 #!/hfe/ova/rai clguba
1862 sebz ohc vzcbeg bcgvbaf, qerphefr
1863 sebz ohc.urycref vzcbeg *
1864
1865 bcgfcrp = """
1866 ohc qerphefr <cngu>
1867 --
1868 k,kqri,bar-svyr-flfgrz   qba'g pebff svyrflfgrz obhaqnevrf
1869 d,dhvrg  qba'g npghnyyl cevag svyranzrf
1870 cebsvyr  eha haqre gur clguba cebsvyre
1871 """
1872 b = bcgvbaf.Bcgvbaf('ohc qerphefr', bcgfcrp)
1873 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
1874
1875 vs yra(rkgen) != 1:
1876     b.sngny("rknpgyl bar svyranzr rkcrpgrq")
1877
1878 vg = qerphefr.erphefvir_qveyvfg(rkgen, bcg.kqri)
1879 vs bcg.cebsvyr:
1880     vzcbeg pCebsvyr
1881     qrs qb_vg():
1882         sbe v va vg:
1883             cnff
1884     pCebsvyr.eha('qb_vg()')
1885 ryfr:
1886     vs bcg.dhvrg:
1887         sbe v va vg:
1888             cnff
1889     ryfr:
1890         sbe (anzr,fg) va vg:
1891             cevag anzr
1892
1893 vs fnirq_reebef:
1894     ybt('JNEAVAT: %q reebef rapbhagrerq.\a' % yra(fnirq_reebef))
1895     flf.rkvg(1)
1896 #!/hfe/ova/rai clguba
1897 vzcbeg flf, gvzr, fgehpg
1898 sebz ohc vzcbeg unfufcyvg, tvg, bcgvbaf, pyvrag
1899 sebz ohc.urycref vzcbeg *
1900 sebz fhocebprff vzcbeg CVCR
1901
1902
1903 bcgfcrp = """
1904 ohc fcyvg [-gpo] [-a anzr] [--orapu] [svyranzrf...]
1905 --
1906 e,erzbgr=  erzbgr ercbfvgbel cngu
1907 o,oybof    bhgchg n frevrf bs oybo vqf
1908 g,gerr     bhgchg n gerr vq
1909 p,pbzzvg   bhgchg n pbzzvg vq
1910 a,anzr=    anzr bs onpxhc frg gb hcqngr (vs nal)
1911 A,abbc     qba'g npghnyyl fnir gur qngn naljurer
1912 d,dhvrg    qba'g cevag cebterff zrffntrf
1913 i,ireobfr  vapernfr ybt bhgchg (pna or hfrq zber guna bapr)
1914 pbcl       whfg pbcl vachg gb bhgchg, unfufcyvggvat nybat gur jnl
1915 orapu      cevag orapuznex gvzvatf gb fgqree
1916 znk-cnpx-fvmr=  znkvzhz olgrf va n fvatyr cnpx
1917 znk-cnpx-bowrpgf=  znkvzhz ahzore bs bowrpgf va n fvatyr cnpx
1918 snabhg=  znkvzhz ahzore bs oybof va n fvatyr gerr
1919 """
1920 b = bcgvbaf.Bcgvbaf('ohc fcyvg', bcgfcrp)
1921 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
1922
1923 tvg.purpx_ercb_be_qvr()
1924 vs abg (bcg.oybof be bcg.gerr be bcg.pbzzvg be bcg.anzr be
1925         bcg.abbc be bcg.pbcl):
1926     b.sngny("hfr bar be zber bs -o, -g, -p, -a, -A, --pbcl")
1927 vs (bcg.abbc be bcg.pbcl) naq (bcg.oybof be bcg.gerr be 
1928                                bcg.pbzzvg be bcg.anzr):
1929     b.sngny('-A vf vapbzcngvoyr jvgu -o, -g, -p, -a')
1930
1931 vs bcg.ireobfr >= 2:
1932     tvg.ireobfr = bcg.ireobfr - 1
1933     bcg.orapu = 1
1934 vs bcg.znk_cnpx_fvmr:
1935     unfufcyvg.znk_cnpx_fvmr = cnefr_ahz(bcg.znk_cnpx_fvmr)
1936 vs bcg.znk_cnpx_bowrpgf:
1937     unfufcyvg.znk_cnpx_bowrpgf = cnefr_ahz(bcg.znk_cnpx_bowrpgf)
1938 vs bcg.snabhg:
1939     unfufcyvg.snabhg = cnefr_ahz(bcg.snabhg)
1940 vs bcg.oybof:
1941     unfufcyvg.snabhg = 0
1942
1943 vf_erirefr = bf.raiveba.trg('OHC_FREIRE_ERIREFR')
1944 vs vf_erirefr naq bcg.erzbgr:
1945     b.sngny("qba'g hfr -e va erirefr zbqr; vg'f nhgbzngvp")
1946 fgneg_gvzr = gvzr.gvzr()
1947
1948 ersanzr = bcg.anzr naq 'ersf/urnqf/%f' % bcg.anzr be Abar
1949 vs bcg.abbc be bcg.pbcl:
1950     pyv = j = byqers = Abar
1951 ryvs bcg.erzbgr be vf_erirefr:
1952     pyv = pyvrag.Pyvrag(bcg.erzbgr)
1953     byqers = ersanzr naq pyv.ernq_ers(ersanzr) be Abar
1954     j = pyv.arj_cnpxjevgre()
1955 ryfr:
1956     pyv = Abar
1957     byqers = ersanzr naq tvg.ernq_ers(ersanzr) be Abar
1958     j = tvg.CnpxJevgre()
1959
1960 svyrf = rkgen naq (bcra(sa) sbe sa va rkgen) be [flf.fgqva]
1961 vs j:
1962     funyvfg = unfufcyvg.fcyvg_gb_funyvfg(j, svyrf)
1963     gerr = j.arj_gerr(funyvfg)
1964 ryfr:
1965     ynfg = 0
1966     sbe (oybo, ovgf) va unfufcyvg.unfufcyvg_vgre(svyrf):
1967         unfufcyvg.gbgny_fcyvg += yra(oybo)
1968         vs bcg.pbcl:
1969             flf.fgqbhg.jevgr(fge(oybo))
1970         zrtf = unfufcyvg.gbgny_fcyvg/1024/1024
1971         vs abg bcg.dhvrg naq ynfg != zrtf:
1972             cebterff('%q Zolgrf ernq\e' % zrtf)
1973             ynfg = zrtf
1974     cebterff('%q Zolgrf ernq, qbar.\a' % zrtf)
1975
1976 vs bcg.ireobfr:
1977     ybt('\a')
1978 vs bcg.oybof:
1979     sbe (zbqr,anzr,ova) va funyvfg:
1980         cevag ova.rapbqr('urk')
1981 vs bcg.gerr:
1982     cevag gerr.rapbqr('urk')
1983 vs bcg.pbzzvg be bcg.anzr:
1984     zft = 'ohc fcyvg\a\aTrarengrq ol pbzznaq:\a%e' % flf.neti
1985     ers = bcg.anzr naq ('ersf/urnqf/%f' % bcg.anzr) be Abar
1986     pbzzvg = j.arj_pbzzvg(byqers, gerr, zft)
1987     vs bcg.pbzzvg:
1988         cevag pbzzvg.rapbqr('urk')
1989
1990 vs j:
1991     j.pybfr()  # zhfg pybfr orsber jr pna hcqngr gur ers
1992         
1993 vs bcg.anzr:
1994     vs pyv:
1995         pyv.hcqngr_ers(ersanzr, pbzzvg, byqers)
1996     ryfr:
1997         tvg.hcqngr_ers(ersanzr, pbzzvg, byqers)
1998
1999 vs pyv:
2000     pyv.pybfr()
2001
2002 frpf = gvzr.gvzr() - fgneg_gvzr
2003 fvmr = unfufcyvg.gbgny_fcyvg
2004 vs bcg.orapu:
2005     ybt('\aohc: %.2sxolgrf va %.2s frpf = %.2s xolgrf/frp\a'
2006         % (fvmr/1024., frpf, fvmr/1024./frpf))
2007 #!/hfe/ova/rai clguba
2008 vzcbeg flf, er, fgehpg, zznc
2009 sebz ohc vzcbeg tvg, bcgvbaf
2010 sebz ohc.urycref vzcbeg *
2011
2012
2013 qrs f_sebz_olgrf(olgrf):
2014     pyvfg = [pue(o) sbe o va olgrf]
2015     erghea ''.wbva(pyvfg)
2016
2017
2018 qrs ercbeg(pbhag):
2019     svryqf = ['IzFvmr', 'IzEFF', 'IzQngn', 'IzFgx']
2020     q = {}
2021     sbe yvar va bcra('/cebp/frys/fgnghf').ernqyvarf():
2022         y = er.fcyvg(e':\f*', yvar.fgevc(), 1)
2023         q[y[0]] = y[1]
2024     vs pbhag >= 0:
2025         r1 = pbhag
2026         svryqf = [q[x] sbe x va svryqf]
2027     ryfr:
2028         r1 = ''
2029     cevag ('%9f  ' + ('%10f ' * yra(svryqf))) % ghcyr([r1] + svryqf)
2030     flf.fgqbhg.syhfu()
2031
2032
2033 bcgfcrp = """
2034 ohc zrzgrfg [-a ryrzragf] [-p plpyrf]
2035 --
2036 a,ahzore=  ahzore bs bowrpgf cre plpyr
2037 p,plpyrf=  ahzore bs plpyrf gb eha
2038 vtaber-zvqk  vtaber .zvqk svyrf, hfr bayl .vqk svyrf
2039 """
2040 b = bcgvbaf.Bcgvbaf('ohc zrzgrfg', bcgfcrp)
2041 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
2042
2043 vs rkgen:
2044     b.sngny('ab nethzragf rkcrpgrq')
2045
2046 tvg.vtaber_zvqk = bcg.vtaber_zvqk
2047
2048 tvg.purpx_ercb_be_qvr()
2049 z = tvg.CnpxVqkYvfg(tvg.ercb('bowrpgf/cnpx'))
2050
2051 plpyrf = bcg.plpyrf be 100
2052 ahzore = bcg.ahzore be 10000
2053
2054 ercbeg(-1)
2055 s = bcra('/qri/henaqbz')
2056 n = zznc.zznc(-1, 20)
2057 ercbeg(0)
2058 sbe p va kenatr(plpyrf):
2059     sbe a va kenatr(ahzore):
2060         o = s.ernq(3)
2061         vs 0:
2062             olgrf = yvfg(fgehpg.hacnpx('!OOO', o)) + [0]*17
2063             olgrf[2] &= 0ks0
2064             ova = fgehpg.cnpx('!20f', f_sebz_olgrf(olgrf))
2065         ryfr:
2066             n[0:2] = o[0:2]
2067             n[2] = pue(beq(o[2]) & 0ks0)
2068             ova = fge(n[0:20])
2069         #cevag ova.rapbqr('urk')
2070         z.rkvfgf(ova)
2071     ercbeg((p+1)*ahzore)
2072 #!/hfe/ova/rai clguba
2073 vzcbeg flf, bf, fgng
2074 sebz ohc vzcbeg bcgvbaf, tvg, isf
2075 sebz ohc.urycref vzcbeg *
2076
2077 qrs cevag_abqr(grkg, a):
2078     cersvk = ''
2079     vs bcg.unfu:
2080         cersvk += "%f " % a.unfu.rapbqr('urk')
2081     vs fgng.F_VFQVE(a.zbqr):
2082         cevag '%f%f/' % (cersvk, grkg)
2083     ryvs fgng.F_VFYAX(a.zbqr):
2084         cevag '%f%f@' % (cersvk, grkg)
2085     ryfr:
2086         cevag '%f%f' % (cersvk, grkg)
2087
2088
2089 bcgfcrp = """
2090 ohc yf <qvef...>
2091 --
2092 f,unfu   fubj unfu sbe rnpu svyr
2093 """
2094 b = bcgvbaf.Bcgvbaf('ohc yf', bcgfcrp)
2095 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
2096
2097 tvg.purpx_ercb_be_qvr()
2098 gbc = isf.ErsYvfg(Abar)
2099
2100 vs abg rkgen:
2101     rkgen = ['/']
2102
2103 erg = 0
2104 sbe q va rkgen:
2105     gel:
2106         a = gbc.yerfbyir(q)
2107         vs fgng.F_VFQVE(a.zbqr):
2108             sbe fho va a:
2109                 cevag_abqr(fho.anzr, fho)
2110         ryfr:
2111             cevag_abqr(q, a)
2112     rkprcg isf.AbqrReebe, r:
2113         ybt('reebe: %f\a' % r)
2114         erg = 1
2115
2116 flf.rkvg(erg)
2117 #!/hfe/ova/rai clguba
2118 vzcbeg flf, bf, er, fgng, ernqyvar, sazngpu
2119 sebz ohc vzcbeg bcgvbaf, tvg, fudhbgr, isf
2120 sebz ohc.urycref vzcbeg *
2121
2122 qrs abqr_anzr(grkg, a):
2123     vs fgng.F_VFQVE(a.zbqr):
2124         erghea '%f/' % grkg
2125     ryvs fgng.F_VFYAX(a.zbqr):
2126         erghea '%f@' % grkg
2127     ryfr:
2128         erghea '%f' % grkg
2129
2130
2131 qrs qb_yf(cngu, a):
2132     y = []
2133     vs fgng.F_VFQVE(a.zbqr):
2134         sbe fho va a:
2135             y.nccraq(abqr_anzr(fho.anzr, fho))
2136     ryfr:
2137         y.nccraq(abqr_anzr(cngu, a))
2138     cevag pbyhzangr(y, '')
2139     
2140
2141 qrs jevgr_gb_svyr(vas, bhgs):
2142     sbe oybo va puhaxlernqre(vas):
2143         bhgs.jevgr(oybo)
2144     
2145
2146 qrs vachgvgre():
2147     vs bf.vfnggl(flf.fgqva.svyrab()):
2148         juvyr 1:
2149             gel:
2150                 lvryq enj_vachg('ohc> ')
2151             rkprcg RBSReebe:
2152                 oernx
2153     ryfr:
2154         sbe yvar va flf.fgqva:
2155             lvryq yvar
2156
2157
2158 qrs _pbzcyrgre_trg_fhof(yvar):
2159     (dglcr, ynfgjbeq) = fudhbgr.hasvavfurq_jbeq(yvar)
2160     (qve,anzr) = bf.cngu.fcyvg(ynfgjbeq)
2161     #ybt('\apbzcyrgre: %e %e %e\a' % (dglcr, ynfgjbeq, grkg))
2162     a = cjq.erfbyir(qve)
2163     fhof = yvfg(svygre(ynzoqn k: k.anzr.fgnegfjvgu(anzr),
2164                        a.fhof()))
2165     erghea (qve, anzr, dglcr, ynfgjbeq, fhof)
2166
2167
2168 _ynfg_yvar = Abar
2169 _ynfg_erf = Abar
2170 qrs pbzcyrgre(grkg, fgngr):
2171     tybony _ynfg_yvar
2172     tybony _ynfg_erf
2173     gel:
2174         yvar = ernqyvar.trg_yvar_ohssre()[:ernqyvar.trg_raqvqk()]
2175         vs _ynfg_yvar != yvar:
2176             _ynfg_erf = _pbzcyrgre_trg_fhof(yvar)
2177             _ynfg_yvar = yvar
2178         (qve, anzr, dglcr, ynfgjbeq, fhof) = _ynfg_erf
2179         vs fgngr < yra(fhof):
2180             fa = fhof[fgngr]
2181             fa1 = fa.erfbyir('')  # qrers flzyvaxf
2182             shyyanzr = bf.cngu.wbva(qve, fa.anzr)
2183             vs fgng.F_VFQVE(fa1.zbqr):
2184                 erg = fudhbgr.jung_gb_nqq(dglcr, ynfgjbeq, shyyanzr+'/',
2185                                           grezvangr=Snyfr)
2186             ryfr:
2187                 erg = fudhbgr.jung_gb_nqq(dglcr, ynfgjbeq, shyyanzr,
2188                                           grezvangr=Gehr) + ' '
2189             erghea grkg + erg
2190     rkprcg Rkprcgvba, r:
2191         ybt('\areebe va pbzcyrgvba: %f\a' % r)
2192
2193             
2194 bcgfcrp = """
2195 ohc sgc
2196 """
2197 b = bcgvbaf.Bcgvbaf('ohc sgc', bcgfcrp)
2198 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
2199
2200 tvg.purpx_ercb_be_qvr()
2201
2202 gbc = isf.ErsYvfg(Abar)
2203 cjq = gbc
2204
2205 vs rkgen:
2206     yvarf = rkgen
2207 ryfr:
2208     ernqyvar.frg_pbzcyrgre_qryvzf(' \g\a\e/')
2209     ernqyvar.frg_pbzcyrgre(pbzcyrgre)
2210     ernqyvar.cnefr_naq_ovaq("gno: pbzcyrgr")
2211     yvarf = vachgvgre()
2212
2213 sbe yvar va yvarf:
2214     vs abg yvar.fgevc():
2215         pbagvahr
2216     jbeqf = [jbeq sbe (jbeqfgneg,jbeq) va fudhbgr.dhbgrfcyvg(yvar)]
2217     pzq = jbeqf[0].ybjre()
2218     #ybt('rkrphgr: %e %e\a' % (pzq, cnez))
2219     gel:
2220         vs pzq == 'yf':
2221             sbe cnez va (jbeqf[1:] be ['.']):
2222                 qb_yf(cnez, cjq.erfbyir(cnez))
2223         ryvs pzq == 'pq':
2224             sbe cnez va jbeqf[1:]:
2225                 cjq = cjq.erfbyir(cnez)
2226         ryvs pzq == 'cjq':
2227             cevag cjq.shyyanzr()
2228         ryvs pzq == 'png':
2229             sbe cnez va jbeqf[1:]:
2230                 tvir be gnxr n ovgerfbyir(cnez).bcra(), flf.fgqbhg)
2231         ryvs pzq == 'trg':
2232             vs yra(jbeqf) abg va [2,3]:
2233                 envfr Rkprcgvba('Hfntr: trg <svyranzr> [ybpnyanzr]')
2234             eanzr = jbeqf[1]
2235             (qve,onfr) = bf.cngu.fcyvg(eanzr)
2236             yanzr = yra(jbeqf)>2 naq jbeqf[2] be onfr
2237             vas = cjq.erfbyir(eanzr).bcra()
2238             ybt('Fnivat %e\a' % yanzr)
2239             jevgr_gb_svyr(vas, bcra(yanzr, 'jo'))
2240         ryvs pzq == 'ztrg':
2241             sbe cnez va jbeqf[1:]:
2242                 (qve,onfr) = bf.cngu.fcyvg(cnez)
2243                 sbe a va cjq.erfbyir(qve).fhof():
2244                     vs sazngpu.sazngpu(a.anzr, onfr):
2245                         gel:
2246                             ybt('Fnivat %e\a' % a.anzr)
2247                             vas = a.bcra()
2248                             bhgs = bcra(a.anzr, 'jo')
2249                             jevgr_gb_svyr(vas, bhgs)
2250                             bhgs.pybfr()
2251                         rkprcg Rkprcgvba, r:
2252                             ybt('  reebe: %f\a' % r)
2253         ryvs pzq == 'uryc' be pzq == '?':
2254             ybt('Pbzznaqf: yf pq cjq png trg ztrg uryc dhvg\a')
2255         ryvs pzq == 'dhvg' be pzq == 'rkvg' be pzq == 'olr':
2256             oernx
2257         ryfr:
2258             envfr Rkprcgvba('ab fhpu pbzznaq %e' % pzq)
2259     rkprcg Rkprcgvba, r:
2260         ybt('reebe: %f\a' % r)
2261         #envfr
2262 #!/hfe/ova/rai clguba
2263 vzcbeg flf, zznc
2264 sebz ohc vzcbeg bcgvbaf, _unfufcyvg
2265 sebz ohc.urycref vzcbeg *
2266
2267 bcgfcrp = """
2268 ohc enaqbz [-F frrq] <ahzolgrf>
2269 --
2270 F,frrq=   bcgvbany enaqbz ahzore frrq (qrsnhyg 1)
2271 s,sbepr   cevag enaqbz qngn gb fgqbhg rira vs vg'f n ggl
2272 """
2273 b = bcgvbaf.Bcgvbaf('ohc enaqbz', bcgfcrp)
2274 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
2275
2276 vs yra(rkgen) != 1:
2277     b.sngny("rknpgyl bar nethzrag rkcrpgrq")
2278
2279 gbgny = cnefr_ahz(rkgen[0])
2280
2281 vs bcg.sbepr be (abg bf.vfnggl(1) naq
2282                  abg ngbv(bf.raiveba.trg('OHC_SBEPR_GGL')) & 1):
2283     _unfufcyvg.jevgr_enaqbz(flf.fgqbhg.svyrab(), gbgny, bcg.frrq be 0)
2284 ryfr:
2285     ybt('reebe: abg jevgvat ovanel qngn gb n grezvany. Hfr -s gb sbepr.\a')
2286     flf.rkvg(1)
2287 #!/hfe/ova/rai clguba
2288 vzcbeg flf, bf, tybo
2289 sebz ohc vzcbeg bcgvbaf
2290
2291 bcgfcrp = """
2292 ohc uryc <pbzznaq>
2293 """
2294 b = bcgvbaf.Bcgvbaf('ohc uryc', bcgfcrp)
2295 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
2296
2297 vs yra(rkgen) == 0:
2298     # gur jenccre cebtenz cebivqrf gur qrsnhyg hfntr fgevat
2299     bf.rkrpic(bf.raiveba['OHC_ZNVA_RKR'], ['ohc'])
2300 ryvs yra(rkgen) == 1:
2301     qbpanzr = (rkgen[0]=='ohc' naq 'ohc' be ('ohc-%f' % rkgen[0]))
2302     rkr = flf.neti[0]
2303     (rkrcngu, rkrsvyr) = bf.cngu.fcyvg(rkr)
2304     znacngu = bf.cngu.wbva(rkrcngu, '../Qbphzragngvba/' + qbpanzr + '.[1-9]')
2305     t = tybo.tybo(znacngu)
2306     vs t:
2307         bf.rkrpic('zna', ['zna', '-y', t[0]])
2308     ryfr:
2309         bf.rkrpic('zna', ['zna', qbpanzr])
2310 ryfr:
2311     b.sngny("rknpgyl bar pbzznaq anzr rkcrpgrq")
2312 #!/hfe/ova/rai clguba
2313 vzcbeg flf, bf, fgng, reeab, shfr, er, gvzr, grzcsvyr
2314 sebz ohc vzcbeg bcgvbaf, tvg, isf
2315 sebz ohc.urycref vzcbeg *
2316
2317
2318 pynff Fgng(shfr.Fgng):
2319     qrs __vavg__(frys):
2320         frys.fg_zbqr = 0
2321         frys.fg_vab = 0
2322         frys.fg_qri = 0
2323         frys.fg_ayvax = 0
2324         frys.fg_hvq = 0
2325         frys.fg_tvq = 0
2326         frys.fg_fvmr = 0
2327         frys.fg_ngvzr = 0
2328         frys.fg_zgvzr = 0
2329         frys.fg_pgvzr = 0
2330         frys.fg_oybpxf = 0
2331         frys.fg_oyxfvmr = 0
2332         frys.fg_eqri = 0
2333
2334
2335 pnpur = {}
2336 qrs pnpur_trg(gbc, cngu):
2337     cnegf = cngu.fcyvg('/')
2338     pnpur[('',)] = gbc
2339     p = Abar
2340     znk = yra(cnegf)
2341     #ybt('pnpur: %e\a' % pnpur.xrlf())
2342     sbe v va enatr(znk):
2343         cer = cnegf[:znk-v]
2344         #ybt('pnpur gelvat: %e\a' % cer)
2345         p = pnpur.trg(ghcyr(cer))
2346         vs p:
2347             erfg = cnegf[znk-v:]
2348             sbe e va erfg:
2349                 #ybt('erfbyivat %e sebz %e\a' % (e, p.shyyanzr()))
2350                 p = p.yerfbyir(e)
2351                 xrl = ghcyr(cer + [e])
2352                 #ybt('fnivat: %e\a' % (xrl,))
2353                 pnpur[xrl] = p
2354             oernx
2355     nffreg(p)
2356     erghea p
2357         
2358     
2359
2360 pynff OhcSf(shfr.Shfr):
2361     qrs __vavg__(frys, gbc):
2362         shfr.Shfr.__vavg__(frys)
2363         frys.gbc = gbc
2364     
2365     qrs trgngge(frys, cngu):
2366         ybt('--trgngge(%e)\a' % cngu)
2367         gel:
2368             abqr = pnpur_trg(frys.gbc, cngu)
2369             fg = Fgng()
2370             fg.fg_zbqr = abqr.zbqr
2371             fg.fg_ayvax = abqr.ayvaxf()
2372             fg.fg_fvmr = abqr.fvmr()
2373             fg.fg_zgvzr = abqr.zgvzr
2374             fg.fg_pgvzr = abqr.pgvzr
2375             fg.fg_ngvzr = abqr.ngvzr
2376             erghea fg
2377         rkprcg isf.AbFhpuSvyr:
2378             erghea -reeab.RABRAG
2379
2380     qrs ernqqve(frys, cngu, bssfrg):
2381         ybt('--ernqqve(%e)\a' % cngu)
2382         abqr = pnpur_trg(frys.gbc, cngu)
2383         lvryq shfr.Qveragel('.')
2384         lvryq shfr.Qveragel('..')
2385         sbe fho va abqr.fhof():
2386             lvryq shfr.Qveragel(fho.anzr)
2387
2388     qrs ernqyvax(frys, cngu):
2389         ybt('--ernqyvax(%e)\a' % cngu)
2390         abqr = pnpur_trg(frys.gbc, cngu)
2391         erghea abqr.ernqyvax()
2392
2393     qrs bcra(frys, cngu, syntf):
2394         ybt('--bcra(%e)\a' % cngu)
2395         abqr = pnpur_trg(frys.gbc, cngu)
2396         nppzbqr = bf.B_EQBAYL | bf.B_JEBAYL | bf.B_EQJE
2397         vs (syntf & nppzbqr) != bf.B_EQBAYL:
2398             erghea -reeab.RNPPRF
2399         abqr.bcra()
2400
2401     qrs eryrnfr(frys, cngu, syntf):
2402         ybt('--eryrnfr(%e)\a' % cngu)
2403
2404     qrs ernq(frys, cngu, fvmr, bssfrg):
2405         ybt('--ernq(%e)\a' % cngu)
2406         a = pnpur_trg(frys.gbc, cngu)
2407         b = a.bcra()
2408         b.frrx(bssfrg)
2409         erghea b.ernq(fvmr)
2410
2411
2412 vs abg unfngge(shfr, '__irefvba__'):
2413     envfr EhagvzrReebe, "lbhe shfr zbqhyr vf gbb byq sbe shfr.__irefvba__"
2414 shfr.shfr_clguba_ncv = (0, 2)
2415
2416
2417 bcgfcrp = """
2418 ohc shfr [-q] [-s] <zbhagcbvag>
2419 --
2420 q,qroht   vapernfr qroht yriry
2421 s,sbertebhaq  eha va sbertebhaq
2422 """
2423 b = bcgvbaf.Bcgvbaf('ohc shfr', bcgfcrp)
2424 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
2425
2426 vs yra(rkgen) != 1:
2427     b.sngny("rknpgyl bar nethzrag rkcrpgrq")
2428
2429 tvg.purpx_ercb_be_qvr()
2430 gbc = isf.ErsYvfg(Abar)
2431 s = OhcSf(gbc)
2432 s.shfr_netf.zbhagcbvag = rkgen[0]
2433 vs bcg.qroht:
2434     s.shfr_netf.nqq('qroht')
2435 vs bcg.sbertebhaq:
2436     s.shfr_netf.frgzbq('sbertebhaq')
2437 cevag s.zhygvguernqrq
2438 s.zhygvguernqrq = Snyfr
2439
2440 s.znva()
2441 #!/hfe/ova/rai clguba
2442 sebz ohc vzcbeg tvg, bcgvbaf, pyvrag
2443 sebz ohc.urycref vzcbeg *
2444
2445 bcgfcrp = """
2446 [OHC_QVE=...] ohc vavg [-e ubfg:cngu]
2447 --
2448 e,erzbgr=  erzbgr ercbfvgbel cngu
2449 """
2450 b = bcgvbaf.Bcgvbaf('ohc vavg', bcgfcrp)
2451 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
2452
2453 vs rkgen:
2454     b.sngny("ab nethzragf rkcrpgrq")
2455
2456
2457 vs bcg.erzbgr:
2458     tvg.vavg_ercb()  # ybpny ercb
2459     tvg.purpx_ercb_be_qvr()
2460     pyv = pyvrag.Pyvrag(bcg.erzbgr, perngr=Gehr)
2461     pyv.pybfr()
2462 ryfr:
2463     tvg.vavg_ercb()
2464 #!/hfe/ova/rai clguba
2465 vzcbeg flf, zngu, fgehpg, tybo
2466 sebz ohc vzcbeg bcgvbaf, tvg
2467 sebz ohc.urycref vzcbeg *
2468
2469 CNTR_FVMR=4096
2470 FUN_CRE_CNTR=CNTR_FVMR/200.
2471
2472
2473 qrs zretr(vqkyvfg, ovgf, gnoyr):
2474     pbhag = 0
2475     sbe r va tvg.vqkzretr(vqkyvfg):
2476         pbhag += 1
2477         cersvk = tvg.rkgenpg_ovgf(r, ovgf)
2478         gnoyr[cersvk] = pbhag
2479         lvryq r
2480
2481
2482 qrs qb_zvqk(bhgqve, bhgsvyranzr, vasvyranzrf):
2483     vs abg bhgsvyranzr:
2484         nffreg(bhgqve)
2485         fhz = Fun1('\0'.wbva(vasvyranzrf)).urkqvtrfg()
2486         bhgsvyranzr = '%f/zvqk-%f.zvqk' % (bhgqve, fhz)
2487     
2488     vac = []
2489     gbgny = 0
2490     sbe anzr va vasvyranzrf:
2491         vk = tvg.CnpxVqk(anzr)
2492         vac.nccraq(vk)
2493         gbgny += yra(vk)
2494
2495     ybt('Zretvat %q vaqrkrf (%q bowrpgf).\a' % (yra(vasvyranzrf), gbgny))
2496     vs (abg bcg.sbepr naq (gbgny < 1024 naq yra(vasvyranzrf) < 3)) \
2497        be (bcg.sbepr naq abg gbgny):
2498         ybt('zvqk: abguvat gb qb.\a')
2499         erghea
2500
2501     cntrf = vag(gbgny/FUN_CRE_CNTR) be 1
2502     ovgf = vag(zngu.prvy(zngu.ybt(cntrf, 2)))
2503     ragevrf = 2**ovgf
2504     ybt('Gnoyr fvmr: %q (%q ovgf)\a' % (ragevrf*4, ovgf))
2505     
2506     gnoyr = [0]*ragevrf
2507
2508     gel:
2509         bf.hayvax(bhgsvyranzr)
2510     rkprcg BFReebe:
2511         cnff
2512     s = bcra(bhgsvyranzr + '.gzc', 'j+')
2513     s.jevgr('ZVQK\0\0\0\2')
2514     s.jevgr(fgehpg.cnpx('!V', ovgf))
2515     nffreg(s.gryy() == 12)
2516     s.jevgr('\0'*4*ragevrf)
2517     
2518     sbe r va zretr(vac, ovgf, gnoyr):
2519         s.jevgr(r)
2520         
2521     s.jevgr('\0'.wbva(bf.cngu.onfranzr(c) sbe c va vasvyranzrf))
2522
2523     s.frrx(12)
2524     s.jevgr(fgehpg.cnpx('!%qV' % ragevrf, *gnoyr))
2525     s.pybfr()
2526     bf.eranzr(bhgsvyranzr + '.gzc', bhgsvyranzr)
2527
2528     # guvf vf whfg sbe grfgvat
2529     vs 0:
2530         c = tvg.CnpxZvqk(bhgsvyranzr)
2531         nffreg(yra(c.vqkanzrf) == yra(vasvyranzrf))
2532         cevag c.vqkanzrf
2533         nffreg(yra(c) == gbgny)
2534         cv = vgre(c)
2535         sbe v va zretr(vac, gbgny, ovgf, gnoyr):
2536             nffreg(v == cv.arkg())
2537             nffreg(c.rkvfgf(v))
2538
2539     cevag bhgsvyranzr
2540
2541 bcgfcrp = """
2542 ohc zvqk [bcgvbaf...] <vqkanzrf...>
2543 --
2544 b,bhgchg=  bhgchg zvqk svyranzr (qrsnhyg: nhgb-trarengrq)
2545 n,nhgb     nhgbzngvpnyyl perngr .zvqk sebz nal havaqrkrq .vqk svyrf
2546 s,sbepr    nhgbzngvpnyyl perngr .zvqk sebz *nyy* .vqk svyrf
2547 """
2548 b = bcgvbaf.Bcgvbaf('ohc zvqk', bcgfcrp)
2549 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
2550
2551 vs rkgen naq (bcg.nhgb be bcg.sbepr):
2552     b.sngny("lbh pna'g hfr -s/-n naq nyfb cebivqr svyranzrf")
2553
2554 tvg.purpx_ercb_be_qvr()
2555
2556 vs rkgen:
2557     qb_zvqk(tvg.ercb('bowrpgf/cnpx'), bcg.bhgchg, rkgen)
2558 ryvs bcg.nhgb be bcg.sbepr:
2559     cnguf = [tvg.ercb('bowrpgf/cnpx')]
2560     cnguf += tybo.tybo(tvg.ercb('vaqrk-pnpur/*/.'))
2561     sbe cngu va cnguf:
2562         ybt('zvqk: fpnaavat %f\a' % cngu)
2563         vs bcg.sbepr:
2564             qb_zvqk(cngu, bcg.bhgchg, tybo.tybo('%f/*.vqk' % cngu))
2565         ryvs bcg.nhgb:
2566             z = tvg.CnpxVqkYvfg(cngu)
2567             arrqrq = {}
2568             sbe cnpx va z.cnpxf:  # bayl .vqk svyrf jvgubhg n .zvqk ner bcra
2569                 vs cnpx.anzr.raqfjvgu('.vqk'):
2570                     arrqrq[cnpx.anzr] = 1
2571             qry z
2572             qb_zvqk(cngu, bcg.bhgchg, arrqrq.xrlf())
2573         ybt('\a')
2574 ryfr:
2575     b.sngny("lbh zhfg hfr -s be -n be cebivqr vachg svyranzrf")
2576 #!/hfe/ova/rai clguba
2577 vzcbeg flf, bf, enaqbz
2578 sebz ohc vzcbeg bcgvbaf
2579 sebz ohc.urycref vzcbeg *
2580
2581
2582 qrs enaqoybpx(a):
2583     y = []
2584     sbe v va kenatr(a):
2585         y.nccraq(pue(enaqbz.enaqenatr(0,256)))
2586     erghea ''.wbva(y)
2587
2588
2589 bcgfcrp = """
2590 ohc qnzntr [-a pbhag] [-f znkfvmr] [-F frrq] <svyranzrf...>
2591 --
2592    JNEAVAT: GUVF PBZZNAQ VF RKGERZRYL QNATREBHF
2593 a,ahz=   ahzore bs oybpxf gb qnzntr
2594 f,fvmr=  znkvzhz fvmr bs rnpu qnzntrq oybpx
2595 creprag= znkvzhz fvmr bs rnpu qnzntrq oybpx (nf n creprag bs ragver svyr)
2596 rdhny    fcernq qnzntr rirayl guebhtubhg gur svyr
2597 F,frrq=  enaqbz ahzore frrq (sbe ercrngnoyr grfgf)
2598 """
2599 b = bcgvbaf.Bcgvbaf('ohc qnzntr', bcgfcrp)
2600 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
2601
2602 vs abg rkgen:
2603     b.sngny('svyranzrf rkcrpgrq')
2604
2605 vs bcg.frrq != Abar:
2606     enaqbz.frrq(bcg.frrq)
2607
2608 sbe anzr va rkgen:
2609     ybt('Qnzntvat "%f"...\a' % anzr)
2610     s = bcra(anzr, 'e+o')
2611     fg = bf.sfgng(s.svyrab())
2612     fvmr = fg.fg_fvmr
2613     vs bcg.creprag be bcg.fvmr:
2614         zf1 = vag(sybng(bcg.creprag be 0)/100.0*fvmr) be fvmr
2615         zf2 = bcg.fvmr be fvmr
2616         znkfvmr = zva(zf1, zf2)
2617     ryfr:
2618         znkfvmr = 1
2619     puhaxf = bcg.ahz be 10
2620     puhaxfvmr = fvmr/puhaxf
2621     sbe e va enatr(puhaxf):
2622         fm = enaqbz.enaqenatr(1, znkfvmr+1)
2623         vs fm > fvmr:
2624             fm = fvmr
2625         vs bcg.rdhny:
2626             bsf = e*puhaxfvmr
2627         ryfr:
2628             bsf = enaqbz.enaqenatr(0, fvmr - fm + 1)
2629         ybt('  %6q olgrf ng %q\a' % (fm, bsf))
2630         s.frrx(bsf)
2631         s.jevgr(enaqoybpx(fm))
2632     s.pybfr()
2633 #!/hfe/ova/rai clguba
2634 vzcbeg flf, fgehpg, zznc
2635 sebz ohc vzcbeg bcgvbaf, tvg
2636 sebz ohc.urycref vzcbeg *
2637
2638 fhfcraqrq_j = Abar
2639
2640
2641 qrs vavg_qve(pbaa, net):
2642     tvg.vavg_ercb(net)
2643     ybt('ohc freire: ohcqve vavgvnyvmrq: %e\a' % tvg.ercbqve)
2644     pbaa.bx()
2645
2646
2647 qrs frg_qve(pbaa, net):
2648     tvg.purpx_ercb_be_qvr(net)
2649     ybt('ohc freire: ohcqve vf %e\a' % tvg.ercbqve)
2650     pbaa.bx()
2651
2652     
2653 qrs yvfg_vaqrkrf(pbaa, whax):
2654     tvg.purpx_ercb_be_qvr()
2655     sbe s va bf.yvfgqve(tvg.ercb('bowrpgf/cnpx')):
2656         vs s.raqfjvgu('.vqk'):
2657             pbaa.jevgr('%f\a' % s)
2658     pbaa.bx()
2659
2660
2661 qrs fraq_vaqrk(pbaa, anzr):
2662     tvg.purpx_ercb_be_qvr()
2663     nffreg(anzr.svaq('/') < 0)
2664     nffreg(anzr.raqfjvgu('.vqk'))
2665     vqk = tvg.CnpxVqk(tvg.ercb('bowrpgf/cnpx/%f' % anzr))
2666     pbaa.jevgr(fgehpg.cnpx('!V', yra(vqk.znc)))
2667     pbaa.jevgr(vqk.znc)
2668     pbaa.bx()
2669
2670
2671 qrs erprvir_bowrpgf(pbaa, whax):
2672     tybony fhfcraqrq_j
2673     tvg.purpx_ercb_be_qvr()
2674     fhttrfgrq = {}
2675     vs fhfcraqrq_j:
2676         j = fhfcraqrq_j
2677         fhfcraqrq_j = Abar
2678     ryfr:
2679         j = tvg.CnpxJevgre()
2680     juvyr 1:
2681         af = pbaa.ernq(4)
2682         vs abg af:
2683             j.nobeg()
2684             envfr Rkprcgvba('bowrpg ernq: rkcrpgrq yratgu urnqre, tbg RBS\a')
2685         a = fgehpg.hacnpx('!V', af)[0]
2686         #ybt('rkcrpgvat %q olgrf\a' % a)
2687         vs abg a:
2688             ybt('ohc freire: erprvirq %q bowrpg%f.\a' 
2689                 % (j.pbhag, j.pbhag!=1 naq "f" be ''))
2690             shyycngu = j.pybfr()
2691             vs shyycngu:
2692                 (qve, anzr) = bf.cngu.fcyvg(shyycngu)
2693                 pbaa.jevgr('%f.vqk\a' % anzr)
2694             pbaa.bx()
2695             erghea
2696         ryvs a == 0kssssssss:
2697             ybt('ohc freire: erprvir-bowrpgf fhfcraqrq.\a')
2698             fhfcraqrq_j = j
2699             pbaa.bx()
2700             erghea
2701             
2702         ohs = pbaa.ernq(a)  # bowrpg fvmrf va ohc ner ernfbanoyl fznyy
2703         #ybt('ernq %q olgrf\a' % a)
2704         vs yra(ohs) < a:
2705             j.nobeg()
2706             envfr Rkprcgvba('bowrpg ernq: rkcrpgrq %q olgrf, tbg %q\a'
2707                             % (a, yra(ohs)))
2708         (glcr, pbagrag) = tvg._qrpbqr_cnpxbow(ohs)
2709         fun = tvg.pnyp_unfu(glcr, pbagrag)
2710         byqcnpx = j.rkvfgf(fun)
2711         # SVKZR: jr bayl fhttrfg n fvatyr vaqrk cre plpyr, orpnhfr gur pyvrag
2712         # vf pheeragyl qhzo gb qbjaybnq zber guna bar cre plpyr naljnl.
2713         # Npghnyyl jr fubhyq svk gur pyvrag, ohg guvf vf n zvabe bcgvzvmngvba
2714         # ba gur freire fvqr.
2715         vs abg fhttrfgrq naq \
2716           byqcnpx naq (byqcnpx == Gehr be byqcnpx.raqfjvgu('.zvqk')):
2717             # SVKZR: jr fubhyqa'g ernyyl unir gb xabj nobhg zvqk svyrf
2718             # ng guvf ynlre.  Ohg rkvfgf() ba n zvqk qbrfa'g erghea gur
2719             # cnpxanzr (fvapr vg qbrfa'g xabj)... cebonoyl jr fubhyq whfg
2720             # svk gung qrsvpvrapl bs zvqk svyrf riraghnyyl, nygubhtu vg'yy
2721             # znxr gur svyrf ovttre.  Guvf zrgubq vf pregnvayl abg irel
2722             # rssvpvrag.
2723             j.bowpnpur.erserfu(fxvc_zvqk = Gehr)
2724             byqcnpx = j.bowpnpur.rkvfgf(fun)
2725             ybt('arj fhttrfgvba: %e\a' % byqcnpx)
2726             nffreg(byqcnpx)
2727             nffreg(byqcnpx != Gehr)
2728             nffreg(abg byqcnpx.raqfjvgu('.zvqk'))
2729             j.bowpnpur.erserfu(fxvc_zvqk = Snyfr)
2730         vs abg fhttrfgrq naq byqcnpx:
2731             nffreg(byqcnpx.raqfjvgu('.vqk'))
2732             (qve,anzr) = bf.cngu.fcyvg(byqcnpx)
2733             vs abg (anzr va fhttrfgrq):
2734                 ybt("ohc freire: fhttrfgvat vaqrk %f\a" % anzr)
2735                 pbaa.jevgr('vaqrk %f\a' % anzr)
2736                 fhttrfgrq[anzr] = 1
2737         ryfr:
2738             j._enj_jevgr([ohs])
2739     # ABGERNPURQ
2740
2741
2742 qrs ernq_ers(pbaa, ersanzr):
2743     tvg.purpx_ercb_be_qvr()
2744     e = tvg.ernq_ers(ersanzr)
2745     pbaa.jevgr('%f\a' % (e be '').rapbqr('urk'))
2746     pbaa.bx()
2747
2748
2749 qrs hcqngr_ers(pbaa, ersanzr):
2750     tvg.purpx_ercb_be_qvr()
2751     arjiny = pbaa.ernqyvar().fgevc()
2752     byqiny = pbaa.ernqyvar().fgevc()
2753     tvg.hcqngr_ers(ersanzr, arjiny.qrpbqr('urk'), byqiny.qrpbqr('urk'))
2754     pbaa.bx()
2755
2756
2757 qrs png(pbaa, vq):
2758     tvg.purpx_ercb_be_qvr()
2759     gel:
2760         sbe oybo va tvg.png(vq):
2761             pbaa.jevgr(fgehpg.cnpx('!V', yra(oybo)))
2762             pbaa.jevgr(oybo)
2763     rkprcg XrlReebe, r:
2764         ybt('freire: reebe: %f\a' % r)
2765         pbaa.jevgr('\0\0\0\0')
2766         pbaa.reebe(r)
2767     ryfr:
2768         pbaa.jevgr('\0\0\0\0')
2769         pbaa.bx()
2770
2771
2772 bcgfcrp = """
2773 ohc freire
2774 """
2775 b = bcgvbaf.Bcgvbaf('ohc freire', bcgfcrp)
2776 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
2777
2778 vs rkgen:
2779     b.sngny('ab nethzragf rkcrpgrq')
2780
2781 ybt('ohc freire: ernqvat sebz fgqva.\a')
2782
2783 pbzznaqf = {
2784     'vavg-qve': vavg_qve,
2785     'frg-qve': frg_qve,
2786     'yvfg-vaqrkrf': yvfg_vaqrkrf,
2787     'fraq-vaqrk': fraq_vaqrk,
2788     'erprvir-bowrpgf': erprvir_bowrpgf,
2789     'ernq-ers': ernq_ers,
2790     'hcqngr-ers': hcqngr_ers,
2791     'png': png,
2792 }
2793
2794 # SVKZR: guvf cebgbpby vf gbgnyyl ynzr naq abg ng nyy shgher-cebbs.
2795 # (Rfcrpvnyyl fvapr jr nobeg pbzcyrgryl nf fbba nf *nalguvat* onq unccraf)
2796 pbaa = Pbaa(flf.fgqva, flf.fgqbhg)
2797 ye = yvarernqre(pbaa)
2798 sbe _yvar va ye:
2799     yvar = _yvar.fgevc()
2800     vs abg yvar:
2801         pbagvahr
2802     ybt('ohc freire: pbzznaq: %e\a' % yvar)
2803     jbeqf = yvar.fcyvg(' ', 1)
2804     pzq = jbeqf[0]
2805     erfg = yra(jbeqf)>1 naq jbeqf[1] be ''
2806     vs pzq == 'dhvg':
2807         oernx
2808     ryfr:
2809         pzq = pbzznaqf.trg(pzq)
2810         vs pzq:
2811             pzq(pbaa, erfg)
2812         ryfr:
2813             envfr Rkprcgvba('haxabja freire pbzznaq: %e\a' % yvar)
2814
2815 ybt('ohc freire: qbar\a')
2816 #!/hfe/ova/rai clguba
2817 vzcbeg flf, gvzr, fgehpg
2818 sebz ohc vzcbeg unfufcyvg, tvg, bcgvbaf, pyvrag
2819 sebz ohc.urycref vzcbeg *
2820 sebz fhocebprff vzcbeg CVCR
2821
2822
2823 bcgfcrp = """
2824 ohc wbva [-e ubfg:cngu] [ersf be unfurf...]
2825 --
2826 e,erzbgr=  erzbgr ercbfvgbel cngu
2827 """
2828 b = bcgvbaf.Bcgvbaf('ohc wbva', bcgfcrp)
2829 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
2830
2831 tvg.purpx_ercb_be_qvr()
2832
2833 vs abg rkgen:
2834     rkgen = yvarernqre(flf.fgqva)
2835
2836 erg = 0
2837
2838 vs bcg.erzbgr:
2839     pyv = pyvrag.Pyvrag(bcg.erzbgr)
2840     png = pyv.png
2841 ryfr:
2842     pc = tvg.PngCvcr()
2843     png = pc.wbva
2844
2845 sbe vq va rkgen:
2846     gel:
2847         sbe oybo va png(vq):
2848             flf.fgqbhg.jevgr(oybo)
2849     rkprcg XrlReebe, r:
2850         flf.fgqbhg.syhfu()
2851         ybt('reebe: %f\a' % r)
2852         erg = 1
2853
2854 flf.rkvg(erg)
2855 #!/hfe/ova/rai clguba
2856 vzcbeg flf, er, reeab, fgng, gvzr, zngu
2857 sebz ohc vzcbeg unfufcyvg, tvg, bcgvbaf, vaqrk, pyvrag
2858 sebz ohc.urycref vzcbeg *
2859
2860
2861 bcgfcrp = """
2862 ohc fnir [-gp] [-a anzr] <svyranzrf...>
2863 --
2864 e,erzbgr=  erzbgr ercbfvgbel cngu
2865 g,gerr     bhgchg n gerr vq
2866 p,pbzzvg   bhgchg n pbzzvg vq
2867 a,anzr=    anzr bs onpxhc frg gb hcqngr (vs nal)
2868 i,ireobfr  vapernfr ybt bhgchg (pna or hfrq zber guna bapr)
2869 d,dhvrg    qba'g fubj cebterff zrgre
2870 fznyyre=   bayl onpx hc svyrf fznyyre guna a olgrf
2871 """
2872 b = bcgvbaf.Bcgvbaf('ohc fnir', bcgfcrp)
2873 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
2874
2875 tvg.purpx_ercb_be_qvr()
2876 vs abg (bcg.gerr be bcg.pbzzvg be bcg.anzr):
2877     b.sngny("hfr bar be zber bs -g, -p, -a")
2878 vs abg rkgen:
2879     b.sngny("ab svyranzrf tvira")
2880
2881 bcg.cebterff = (vfggl naq abg bcg.dhvrg)
2882 bcg.fznyyre = cnefr_ahz(bcg.fznyyre be 0)
2883
2884 vf_erirefr = bf.raiveba.trg('OHC_FREIRE_ERIREFR')
2885 vs vf_erirefr naq bcg.erzbgr:
2886     b.sngny("qba'g hfr -e va erirefr zbqr; vg'f nhgbzngvp")
2887
2888 ersanzr = bcg.anzr naq 'ersf/urnqf/%f' % bcg.anzr be Abar
2889 vs bcg.erzbgr be vf_erirefr:
2890     pyv = pyvrag.Pyvrag(bcg.erzbgr)
2891     byqers = ersanzr naq pyv.ernq_ers(ersanzr) be Abar
2892     j = pyv.arj_cnpxjevgre()
2893 ryfr:
2894     pyv = Abar
2895     byqers = ersanzr naq tvg.ernq_ers(ersanzr) be Abar
2896     j = tvg.CnpxJevgre()
2897
2898 unaqyr_pgey_p()
2899
2900
2901 qrs rngfynfu(qve):
2902     vs qve.raqfjvgu('/'):
2903         erghea qve[:-1]
2904     ryfr:
2905         erghea qve
2906
2907
2908 cnegf = ['']
2909 funyvfgf = [[]]
2910
2911 qrs _chfu(cneg):
2912     nffreg(cneg)
2913     cnegf.nccraq(cneg)
2914     funyvfgf.nccraq([])
2915
2916 qrs _cbc(sbepr_gerr):
2917     nffreg(yra(cnegf) >= 1)
2918     cneg = cnegf.cbc()
2919     funyvfg = funyvfgf.cbc()
2920     gerr = sbepr_gerr be j.arj_gerr(funyvfg)
2921     vs funyvfgf:
2922         funyvfgf[-1].nccraq(('40000', cneg, gerr))
2923     ryfr:  # guvf jnf gur gbcyriry, fb chg vg onpx sbe fnavgl
2924         funyvfgf.nccraq(funyvfg)
2925     erghea gerr
2926
2927 ynfgerznva = Abar
2928 qrs cebterff_ercbeg(a):
2929     tybony pbhag, fhopbhag, ynfgerznva
2930     fhopbhag += a
2931     pp = pbhag + fhopbhag
2932     cpg = gbgny naq (pp*100.0/gbgny) be 0
2933     abj = gvzr.gvzr()
2934     ryncfrq = abj - gfgneg
2935     xcf = ryncfrq naq vag(pp/1024./ryncfrq)
2936     xcf_senp = 10 ** vag(zngu.ybt(xcf+1, 10) - 1)
2937     xcf = vag(xcf/xcf_senp)*xcf_senp
2938     vs pp:
2939         erznva = ryncfrq*1.0/pp * (gbgny-pp)
2940     ryfr:
2941         erznva = 0.0
2942     vs (ynfgerznva naq (erznva > ynfgerznva)
2943           naq ((erznva - ynfgerznva)/ynfgerznva < 0.05)):
2944         erznva = ynfgerznva
2945     ryfr:
2946         ynfgerznva = erznva
2947     ubhef = vag(erznva/60/60)
2948     zvaf = vag(erznva/60 - ubhef*60)
2949     frpf = vag(erznva - ubhef*60*60 - zvaf*60)
2950     vs ryncfrq < 30:
2951         erznvafge = ''
2952         xcffge = ''
2953     ryfr:
2954         xcffge = '%qx/f' % xcf
2955         vs ubhef:
2956             erznvafge = '%qu%qz' % (ubhef, zvaf)
2957         ryvs zvaf:
2958             erznvafge = '%qz%q' % (zvaf, frpf)
2959         ryfr:
2960             erznvafge = '%qf' % frpf
2961     cebterff('Fnivat: %.2s%% (%q/%qx, %q/%q svyrf) %f %f\e'
2962              % (cpg, pp/1024, gbgny/1024, spbhag, sgbgny,
2963                 erznvafge, xcffge))
2964
2965
2966 e = vaqrk.Ernqre(tvg.ercb('ohcvaqrk'))
2967
2968 qrs nyernql_fnirq(rag):
2969     erghea rag.vf_inyvq() naq j.rkvfgf(rag.fun) naq rag.fun
2970
2971 qrs jnagerphefr_cer(rag):
2972     erghea abg nyernql_fnirq(rag)
2973
2974 qrs jnagerphefr_qhevat(rag):
2975     erghea abg nyernql_fnirq(rag) be rag.fun_zvffvat()
2976
2977 gbgny = sgbgny = 0
2978 vs bcg.cebterff:
2979     sbe (genafanzr,rag) va e.svygre(rkgen, jnagerphefr=jnagerphefr_cer):
2980         vs abg (sgbgny % 10024):
2981             cebterff('Ernqvat vaqrk: %q\e' % sgbgny)
2982         rkvfgf = rag.rkvfgf()
2983         unfuinyvq = nyernql_fnirq(rag)
2984         rag.frg_fun_zvffvat(abg unfuinyvq)
2985         vs abg bcg.fznyyre be rag.fvmr < bcg.fznyyre:
2986             vs rkvfgf naq abg unfuinyvq:
2987                 gbgny += rag.fvmr
2988         sgbgny += 1
2989     cebterff('Ernqvat vaqrk: %q, qbar.\a' % sgbgny)
2990     unfufcyvg.cebterff_pnyyonpx = cebterff_ercbeg
2991
2992 gfgneg = gvzr.gvzr()
2993 pbhag = fhopbhag = spbhag = 0
2994 ynfgfxvc_anzr = Abar
2995 ynfgqve = ''
2996 sbe (genafanzr,rag) va e.svygre(rkgen, jnagerphefr=jnagerphefr_qhevat):
2997     (qve, svyr) = bf.cngu.fcyvg(rag.anzr)
2998     rkvfgf = (rag.syntf & vaqrk.VK_RKVFGF)
2999     unfuinyvq = nyernql_fnirq(rag)
3000     jnfzvffvat = rag.fun_zvffvat()
3001     byqfvmr = rag.fvmr
3002     vs bcg.ireobfr:
3003         vs abg rkvfgf:
3004             fgnghf = 'Q'
3005         ryvs abg unfuinyvq:
3006             vs rag.fun == vaqrk.RZCGL_FUN:
3007                 fgnghf = 'N'
3008             ryfr:
3009                 fgnghf = 'Z'
3010         ryfr:
3011             fgnghf = ' '
3012         vs bcg.ireobfr >= 2:
3013             ybt('%f %-70f\a' % (fgnghf, rag.anzr))
3014         ryvs abg fgng.F_VFQVE(rag.zbqr) naq ynfgqve != qve:
3015             vs abg ynfgqve.fgnegfjvgu(qve):
3016                 ybt('%f %-70f\a' % (fgnghf, bf.cngu.wbva(qve, '')))
3017             ynfgqve = qve
3018
3019     vs bcg.cebterff:
3020         cebterff_ercbeg(0)
3021     spbhag += 1
3022     
3023     vs abg rkvfgf:
3024         pbagvahr
3025     vs bcg.fznyyre naq rag.fvmr >= bcg.fznyyre:
3026         vs rkvfgf naq abg unfuinyvq:
3027             nqq_reebe('fxvccvat ynetr svyr "%f"' % rag.anzr)
3028             ynfgfxvc_anzr = rag.anzr
3029         pbagvahr
3030
3031     nffreg(qve.fgnegfjvgu('/'))
3032     qvec = qve.fcyvg('/')
3033     juvyr cnegf > qvec:
3034         _cbc(sbepr_gerr = Abar)
3035     vs qve != '/':
3036         sbe cneg va qvec[yra(cnegf):]:
3037             _chfu(cneg)
3038
3039     vs abg svyr:
3040         # ab svyranzr cbegvba zrnaf guvf vf n fhoqve.  Ohg
3041         # fho/cneragqverpgbevrf nyernql unaqyrq va gur cbc/chfu() cneg nobir.
3042         byqgerr = nyernql_fnirq(rag) # znl or Abar
3043         arjgerr = _cbc(sbepr_gerr = byqgerr)
3044         vs abg byqgerr:
3045             vs ynfgfxvc_anzr naq ynfgfxvc_anzr.fgnegfjvgu(rag.anzr):
3046                 rag.vainyvqngr()
3047             ryfr:
3048                 rag.inyvqngr(040000, arjgerr)
3049             rag.ercnpx()
3050         vs rkvfgf naq jnfzvffvat:
3051             pbhag += byqfvmr
3052         pbagvahr
3053
3054     # vg'f abg n qverpgbel
3055     vq = Abar
3056     vs unfuinyvq:
3057         zbqr = '%b' % rag.tvgzbqr
3058         vq = rag.fun
3059         funyvfgf[-1].nccraq((zbqr, 
3060                              tvg.znatyr_anzr(svyr, rag.zbqr, rag.tvgzbqr),
3061                              vq))
3062     ryfr:
3063         vs fgng.F_VFERT(rag.zbqr):
3064             gel:
3065                 s = unfufcyvg.bcra_abngvzr(rag.anzr)
3066             rkprcg VBReebe, r:
3067                 nqq_reebe(r)
3068                 ynfgfxvc_anzr = rag.anzr
3069             rkprcg BFReebe, r:
3070                 nqq_reebe(r)
3071                 ynfgfxvc_anzr = rag.anzr
3072             ryfr:
3073                 (zbqr, vq) = unfufcyvg.fcyvg_gb_oybo_be_gerr(j, [s])
3074         ryfr:
3075             vs fgng.F_VFQVE(rag.zbqr):
3076                 nffreg(0)  # unaqyrq nobir
3077             ryvs fgng.F_VFYAX(rag.zbqr):
3078                 gel:
3079                     ey = bf.ernqyvax(rag.anzr)
3080                 rkprcg BFReebe, r:
3081                     nqq_reebe(r)
3082                     ynfgfxvc_anzr = rag.anzr
3083                 rkprcg VBReebe, r:
3084                     nqq_reebe(r)
3085                     ynfgfxvc_anzr = rag.anzr
3086                 ryfr:
3087                     (zbqr, vq) = ('120000', j.arj_oybo(ey))
3088             ryfr:
3089                 nqq_reebe(Rkprcgvba('fxvccvat fcrpvny svyr "%f"' % rag.anzr))
3090                 ynfgfxvc_anzr = rag.anzr
3091         vs vq:
3092             rag.inyvqngr(vag(zbqr, 8), vq)
3093             rag.ercnpx()
3094             funyvfgf[-1].nccraq((zbqr,
3095                                  tvg.znatyr_anzr(svyr, rag.zbqr, rag.tvgzbqr),
3096                                  vq))
3097     vs rkvfgf naq jnfzvffvat:
3098         pbhag += byqfvmr
3099         fhopbhag = 0
3100
3101
3102 vs bcg.cebterff:
3103     cpg = gbgny naq pbhag*100.0/gbgny be 100
3104     cebterff('Fnivat: %.2s%% (%q/%qx, %q/%q svyrf), qbar.    \a'
3105              % (cpg, pbhag/1024, gbgny/1024, spbhag, sgbgny))
3106
3107 juvyr yra(cnegf) > 1:
3108     _cbc(sbepr_gerr = Abar)
3109 nffreg(yra(funyvfgf) == 1)
3110 gerr = j.arj_gerr(funyvfgf[-1])
3111 vs bcg.gerr:
3112     cevag gerr.rapbqr('urk')
3113 vs bcg.pbzzvg be bcg.anzr:
3114     zft = 'ohc fnir\a\aTrarengrq ol pbzznaq:\a%e' % flf.neti
3115     ers = bcg.anzr naq ('ersf/urnqf/%f' % bcg.anzr) be Abar
3116     pbzzvg = j.arj_pbzzvg(byqers, gerr, zft)
3117     vs bcg.pbzzvg:
3118         cevag pbzzvg.rapbqr('urk')
3119
3120 j.pybfr()  # zhfg pybfr orsber jr pna hcqngr gur ers
3121         
3122 vs bcg.anzr:
3123     vs pyv:
3124         pyv.hcqngr_ers(ersanzr, pbzzvg, byqers)
3125     ryfr:
3126         tvg.hcqngr_ers(ersanzr, pbzzvg, byqers)
3127
3128 vs pyv:
3129     pyv.pybfr()
3130
3131 vs fnirq_reebef:
3132     ybt('JNEAVAT: %q reebef rapbhagrerq juvyr fnivat.\a' % yra(fnirq_reebef))
3133     flf.rkvg(1)
3134 #!/hfe/ova/rai clguba
3135 vzcbeg flf, gvzr
3136 sebz ohc vzcbeg bcgvbaf
3137
3138 bcgfcrp = """
3139 ohc gvpx
3140 """
3141 b = bcgvbaf.Bcgvbaf('ohc gvpx', bcgfcrp)
3142 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
3143
3144 vs rkgen:
3145     b.sngny("ab nethzragf rkcrpgrq")
3146
3147 g = gvzr.gvzr()
3148 gyrsg = 1 - (g - vag(g))
3149 gvzr.fyrrc(gyrsg)
3150 #!/hfe/ova/rai clguba
3151 vzcbeg bf, flf, fgng, gvzr
3152 sebz ohc vzcbeg bcgvbaf, tvg, vaqrk, qerphefr
3153 sebz ohc.urycref vzcbeg *
3154
3155
3156 qrs zretr_vaqrkrf(bhg, e1, e2):
3157     sbe r va vaqrk.ZretrVgre([e1, e2]):
3158         # SVKZR: fubhyqa'g jr erzbir qryrgrq ragevrf riraghnyyl?  Jura?
3159         bhg.nqq_vkragel(r)
3160
3161
3162 pynff VgreUrycre:
3163     qrs __vavg__(frys, y):
3164         frys.v = vgre(y)
3165         frys.phe = Abar
3166         frys.arkg()
3167
3168     qrs arkg(frys):
3169         gel:
3170             frys.phe = frys.v.arkg()
3171         rkprcg FgbcVgrengvba:
3172             frys.phe = Abar
3173         erghea frys.phe
3174
3175
3176 qrs purpx_vaqrk(ernqre):
3177     gel:
3178         ybt('purpx: purpxvat sbejneq vgrengvba...\a')
3179         r = Abar
3180         q = {}
3181         sbe r va ernqre.sbejneq_vgre():
3182             vs r.puvyqera_a:
3183                 vs bcg.ireobfr:
3184                     ybt('%08k+%-4q %e\a' % (r.puvyqera_bsf, r.puvyqera_a,
3185                                             r.anzr))
3186                 nffreg(r.puvyqera_bsf)
3187                 nffreg(r.anzr.raqfjvgu('/'))
3188                 nffreg(abg q.trg(r.puvyqera_bsf))
3189                 q[r.puvyqera_bsf] = 1
3190             vs r.syntf & vaqrk.VK_UNFUINYVQ:
3191                 nffreg(r.fun != vaqrk.RZCGL_FUN)
3192                 nffreg(r.tvgzbqr)
3193         nffreg(abg r be r.anzr == '/')  # ynfg ragel vf *nyjnlf* /
3194         ybt('purpx: purpxvat abezny vgrengvba...\a')
3195         ynfg = Abar
3196         sbe r va ernqre:
3197             vs ynfg:
3198                 nffreg(ynfg > r.anzr)
3199             ynfg = r.anzr
3200     rkprcg:
3201         ybt('vaqrk reebe! ng %e\a' % r)
3202         envfr
3203     ybt('purpx: cnffrq.\a')
3204
3205
3206 qrs hcqngr_vaqrk(gbc):
3207     ev = vaqrk.Ernqre(vaqrksvyr)
3208     jv = vaqrk.Jevgre(vaqrksvyr)
3209     evt = VgreUrycre(ev.vgre(anzr=gbc))
3210     gfgneg = vag(gvzr.gvzr())
3211
3212     unfutra = Abar
3213     vs bcg.snxr_inyvq:
3214         qrs unfutra(anzr):
3215             erghea (0100644, vaqrk.SNXR_FUN)
3216
3217     gbgny = 0
3218     sbe (cngu,cfg) va qerphefr.erphefvir_qveyvfg([gbc], kqri=bcg.kqri):
3219         vs bcg.ireobfr>=2 be (bcg.ireobfr==1 naq fgng.F_VFQVE(cfg.fg_zbqr)):
3220             flf.fgqbhg.jevgr('%f\a' % cngu)
3221             flf.fgqbhg.syhfu()
3222             cebterff('Vaqrkvat: %q\e' % gbgny)
3223         ryvs abg (gbgny % 128):
3224             cebterff('Vaqrkvat: %q\e' % gbgny)
3225         gbgny += 1
3226         juvyr evt.phe naq evt.phe.anzr > cngu:  # qryrgrq cnguf
3227             vs evt.phe.rkvfgf():
3228                 evt.phe.frg_qryrgrq()
3229                 evt.phe.ercnpx()
3230             evt.arkg()
3231         vs evt.phe naq evt.phe.anzr == cngu:    # cnguf gung nyernql rkvfgrq
3232             vs cfg:
3233                 evt.phe.sebz_fgng(cfg, gfgneg)
3234             vs abg (evt.phe.syntf & vaqrk.VK_UNFUINYVQ):
3235                 vs unfutra:
3236                     (evt.phe.tvgzbqr, evt.phe.fun) = unfutra(cngu)
3237                     evt.phe.syntf |= vaqrk.VK_UNFUINYVQ
3238             vs bcg.snxr_vainyvq:
3239                 evt.phe.vainyvqngr()
3240             evt.phe.ercnpx()
3241             evt.arkg()
3242         ryfr:  # arj cnguf
3243             jv.nqq(cngu, cfg, unfutra = unfutra)
3244     cebterff('Vaqrkvat: %q, qbar.\a' % gbgny)
3245     
3246     vs ev.rkvfgf():
3247         ev.fnir()
3248         jv.syhfu()
3249         vs jv.pbhag:
3250             je = jv.arj_ernqre()
3251             vs bcg.purpx:
3252                 ybt('purpx: orsber zretvat: byqsvyr\a')
3253                 purpx_vaqrk(ev)
3254                 ybt('purpx: orsber zretvat: arjsvyr\a')
3255                 purpx_vaqrk(je)
3256             zv = vaqrk.Jevgre(vaqrksvyr)
3257             zretr_vaqrkrf(zv, ev, je)
3258             ev.pybfr()
3259             zv.pybfr()
3260             je.pybfr()
3261         jv.nobeg()
3262     ryfr:
3263         jv.pybfr()
3264
3265
3266 bcgfcrp = """
3267 ohc vaqrk <-c|z|h> [bcgvbaf...] <svyranzrf...>
3268 --
3269 c,cevag    cevag gur vaqrk ragevrf sbe gur tvira anzrf (nyfb jbexf jvgu -h)
3270 z,zbqvsvrq cevag bayl nqqrq/qryrgrq/zbqvsvrq svyrf (vzcyvrf -c)
3271 f,fgnghf   cevag rnpu svyranzr jvgu n fgnghf pune (N/Z/Q) (vzcyvrf -c)
3272 U,unfu     cevag gur unfu sbe rnpu bowrpg arkg gb vgf anzr (vzcyvrf -c)
3273 y,ybat     cevag zber vasbezngvba nobhg rnpu svyr
3274 h,hcqngr   (erphefviryl) hcqngr gur vaqrk ragevrf sbe gur tvira svyranzrf
3275 k,kqri,bar-svyr-flfgrz  qba'g pebff svyrflfgrz obhaqnevrf
3276 snxr-inyvq znex nyy vaqrk ragevrf nf hc-gb-qngr rira vs gurl nera'g
3277 snxr-vainyvq znex nyy vaqrk ragevrf nf vainyvq
3278 purpx      pnershyyl purpx vaqrk svyr vagrtevgl
3279 s,vaqrksvyr=  gur anzr bs gur vaqrk svyr (qrsnhyg 'vaqrk')
3280 i,ireobfr  vapernfr ybt bhgchg (pna or hfrq zber guna bapr)
3281 """
3282 b = bcgvbaf.Bcgvbaf('ohc vaqrk', bcgfcrp)
3283 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
3284
3285 vs abg (bcg.zbqvsvrq be bcg['cevag'] be bcg.fgnghf be bcg.hcqngr be bcg.purpx):
3286     b.sngny('fhccyl bar be zber bs -c, -f, -z, -h, be --purpx')
3287 vs (bcg.snxr_inyvq be bcg.snxr_vainyvq) naq abg bcg.hcqngr:
3288     b.sngny('--snxr-{va,}inyvq ner zrnavatyrff jvgubhg -h')
3289 vs bcg.snxr_inyvq naq bcg.snxr_vainyvq:
3290     b.sngny('--snxr-inyvq vf vapbzcngvoyr jvgu --snxr-vainyvq')
3291
3292 tvg.purpx_ercb_be_qvr()
3293 vaqrksvyr = bcg.vaqrksvyr be tvg.ercb('ohcvaqrk')
3294
3295 unaqyr_pgey_p()
3296
3297 vs bcg.purpx:
3298     ybt('purpx: fgnegvat vavgvny purpx.\a')
3299     purpx_vaqrk(vaqrk.Ernqre(vaqrksvyr))
3300
3301 cnguf = vaqrk.erqhpr_cnguf(rkgen)
3302
3303 vs bcg.hcqngr:
3304     vs abg cnguf:
3305         b.sngny('hcqngr (-h) erdhrfgrq ohg ab cnguf tvira')
3306     sbe (ec,cngu) va cnguf:
3307         hcqngr_vaqrk(ec)
3308
3309 vs bcg['cevag'] be bcg.fgnghf be bcg.zbqvsvrq:
3310     sbe (anzr, rag) va vaqrk.Ernqre(vaqrksvyr).svygre(rkgen be ['']):
3311         vs (bcg.zbqvsvrq 
3312             naq (rag.vf_inyvq() be rag.vf_qryrgrq() be abg rag.zbqr)):
3313             pbagvahr
3314         yvar = ''
3315         vs bcg.fgnghf:
3316             vs rag.vf_qryrgrq():
3317                 yvar += 'Q '
3318             ryvs abg rag.vf_inyvq():
3319                 vs rag.fun == vaqrk.RZCGL_FUN:
3320                     yvar += 'N '
3321                 ryfr:
3322                     yvar += 'Z '
3323             ryfr:
3324                 yvar += '  '
3325         vs bcg.unfu:
3326             yvar += rag.fun.rapbqr('urk') + ' '
3327         vs bcg.ybat:
3328             yvar += "%7f %7f " % (bpg(rag.zbqr), bpg(rag.tvgzbqr))
3329         cevag yvar + (anzr be './')
3330
3331 vs bcg.purpx naq (bcg['cevag'] be bcg.fgnghf be bcg.zbqvsvrq be bcg.hcqngr):
3332     ybt('purpx: fgnegvat svany purpx.\a')
3333     purpx_vaqrk(vaqrk.Ernqre(vaqrksvyr))
3334
3335 vs fnirq_reebef:
3336     ybt('JNEAVAT: %q reebef rapbhagrerq.\a' % yra(fnirq_reebef))
3337     flf.rkvg(1)
3338 #!/hfe/ova/rai clguba
3339 vzcbeg flf, bf, fgehpg
3340 sebz ohc vzcbeg bcgvbaf, urycref
3341
3342 bcgfcrp = """
3343 ohc eonpxhc-freire
3344 --
3345     Guvf pbzznaq vf abg vagraqrq gb or eha znahnyyl.
3346 """
3347 b = bcgvbaf.Bcgvbaf('ohc eonpxhc-freire', bcgfcrp)
3348 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
3349 vs rkgen:
3350     b.sngny('ab nethzragf rkcrpgrq')
3351
3352 # trg gur fhopbzznaq'f neti.
3353 # Abeznyyl jr pbhyq whfg cnff guvf ba gur pbzznaq yvar, ohg fvapr jr'yy bsgra
3354 # or trggvat pnyyrq ba gur bgure raq bs na ffu cvcr, juvpu graqf gb znatyr
3355 # neti (ol fraqvat vg ivn gur furyy), guvf jnl vf zhpu fnsre.
3356 ohs = flf.fgqva.ernq(4)
3357 fm = fgehpg.hacnpx('!V', ohs)[0]
3358 nffreg(fm > 0)
3359 nffreg(fm < 1000000)
3360 ohs = flf.fgqva.ernq(fm)
3361 nffreg(yra(ohs) == fm)
3362 neti = ohs.fcyvg('\0')
3363
3364 # fgqva/fgqbhg ner fhccbfrqyl pbaarpgrq gb 'ohc freire' gung gur pnyyre
3365 # fgnegrq sbe hf (bsgra ba gur bgure raq bs na ffu ghaary), fb jr qba'g jnag
3366 # gb zvfhfr gurz.  Zbir gurz bhg bs gur jnl, gura ercynpr fgqbhg jvgu
3367 # n cbvagre gb fgqree va pnfr bhe fhopbzznaq jnagf gb qb fbzrguvat jvgu vg.
3368 #
3369 # Vg zvtug or avpr gb qb gur fnzr jvgu fgqva, ohg zl rkcrevzragf fubjrq gung
3370 # ffu frrzf gb znxr vgf puvyq'f fgqree n ernqnoyr-ohg-arire-ernqf-nalguvat
3371 # fbpxrg.  Gurl ernyyl fubhyq unir hfrq fuhgqbja(FUHG_JE) ba gur bgure raq
3372 # bs vg, ohg cebonoyl qvqa'g.  Naljnl, vg'f gbb zrffl, fb yrg'f whfg znxr fher
3373 # nalbar ernqvat sebz fgqva vf qvfnccbvagrq.
3374 #
3375 # (Lbh pna'g whfg yrnir fgqva/fgqbhg "abg bcra" ol pybfvat gur svyr
3376 # qrfpevcgbef.  Gura gur arkg svyr gung bcraf vf nhgbzngvpnyyl nffvtarq 0 be 1,
3377 # naq crbcyr *gelvat* gb ernq/jevgr fgqva/fgqbhg trg fperjrq.)
3378 bf.qhc2(0, 3)
3379 bf.qhc2(1, 4)
3380 bf.qhc2(2, 1)
3381 sq = bf.bcra('/qri/ahyy', bf.B_EQBAYL)
3382 bf.qhc2(sq, 0)
3383 bf.pybfr(sq)
3384
3385 bf.raiveba['OHC_FREIRE_ERIREFR'] = urycref.ubfganzr()
3386 bf.rkrpic(neti[0], neti)
3387 flf.rkvg(99)
3388 #!/hfe/ova/rai clguba
3389 vzcbeg flf, bf, tybo, fhocebprff, gvzr
3390 sebz ohc vzcbeg bcgvbaf, tvg
3391 sebz ohc.urycref vzcbeg *
3392
3393 cne2_bx = 0
3394 ahyys = bcra('/qri/ahyy')
3395
3396 qrs qroht(f):
3397     vs bcg.ireobfr:
3398         ybt(f)
3399
3400 qrs eha(neti):
3401     # ng yrnfg va clguba 2.5, hfvat "fgqbhg=2" be "fgqbhg=flf.fgqree" orybj
3402     # qbrfa'g npghnyyl jbex, orpnhfr fhocebprff pybfrf sq #2 evtug orsber
3403     # rkrpvat sbe fbzr ernfba.  Fb jr jbex nebhaq vg ol qhcyvpngvat gur sq
3404     # svefg.
3405     sq = bf.qhc(2)  # pbcl fgqree
3406     gel:
3407         c = fhocebprff.Cbcra(neti, fgqbhg=sq, pybfr_sqf=Snyfr)
3408         erghea c.jnvg()
3409     svanyyl:
3410         bf.pybfr(sq)
3411
3412 qrs cne2_frghc():
3413     tybony cne2_bx
3414     ei = 1
3415     gel:
3416         c = fhocebprff.Cbcra(['cne2', '--uryc'],
3417                              fgqbhg=ahyys, fgqree=ahyys, fgqva=ahyys)
3418         ei = c.jnvg()
3419     rkprcg BFReebe:
3420         ybt('sfpx: jneavat: cne2 abg sbhaq; qvfnoyvat erpbirel srngherf.\a')
3421     ryfr:
3422         cne2_bx = 1
3423
3424 qrs cnei(yiy):
3425     vs bcg.ireobfr >= yiy:
3426         vs vfggl:
3427             erghea []
3428         ryfr:
3429             erghea ['-d']
3430     ryfr:
3431         erghea ['-dd']
3432
3433 qrs cne2_trarengr(onfr):
3434     erghea eha(['cne2', 'perngr', '-a1', '-p200'] + cnei(2)
3435                + ['--', onfr, onfr+'.cnpx', onfr+'.vqk'])
3436
3437 qrs cne2_irevsl(onfr):
3438     erghea eha(['cne2', 'irevsl'] + cnei(3) + ['--', onfr])
3439
3440 qrs cne2_ercnve(onfr):
3441     erghea eha(['cne2', 'ercnve'] + cnei(2) + ['--', onfr])
3442
3443 qrs dhvpx_irevsl(onfr):
3444     s = bcra(onfr + '.cnpx', 'eo')
3445     s.frrx(-20, 2)
3446     jnagfhz = s.ernq(20)
3447     nffreg(yra(jnagfhz) == 20)
3448     s.frrx(0)
3449     fhz = Fun1()
3450     sbe o va puhaxlernqre(s, bf.sfgng(s.svyrab()).fg_fvmr - 20):
3451         fhz.hcqngr(o)
3452     vs fhz.qvtrfg() != jnagfhz:
3453         envfr InyhrReebe('rkcrpgrq %e, tbg %e' % (jnagfhz.rapbqr('urk'),
3454                                                   fhz.urkqvtrfg()))
3455         
3456
3457 qrs tvg_irevsl(onfr):
3458     vs bcg.dhvpx:
3459         gel:
3460             dhvpx_irevsl(onfr)
3461         rkprcg Rkprcgvba, r:
3462             qroht('reebe: %f\a' % r)
3463             erghea 1
3464         erghea 0
3465     ryfr:
3466         erghea eha(['tvg', 'irevsl-cnpx', '--', onfr])
3467     
3468     
3469 qrs qb_cnpx(onfr, ynfg):
3470     pbqr = 0
3471     vs cne2_bx naq cne2_rkvfgf naq (bcg.ercnve be abg bcg.trarengr):
3472         ierfhyg = cne2_irevsl(onfr)
3473         vs ierfhyg != 0:
3474             vs bcg.ercnve:
3475                 eerfhyg = cne2_ercnve(onfr)
3476                 vs eerfhyg != 0:
3477                     cevag '%f cne2 ercnve: snvyrq (%q)' % (ynfg, eerfhyg)
3478                     pbqr = eerfhyg
3479                 ryfr:
3480                     cevag '%f cne2 ercnve: fhpprrqrq (0)' % ynfg
3481                     pbqr = 100
3482             ryfr:
3483                 cevag '%f cne2 irevsl: snvyrq (%q)' % (ynfg, ierfhyg)
3484                 pbqr = ierfhyg
3485         ryfr:
3486             cevag '%f bx' % ynfg
3487     ryvs abg bcg.trarengr be (cne2_bx naq abg cne2_rkvfgf):
3488         terfhyg = tvg_irevsl(onfr)
3489         vs terfhyg != 0:
3490             cevag '%f tvg irevsl: snvyrq (%q)' % (ynfg, terfhyg)
3491             pbqr = terfhyg
3492         ryfr:
3493             vs cne2_bx naq bcg.trarengr:
3494                 cerfhyg = cne2_trarengr(onfr)
3495                 vs cerfhyg != 0:
3496                     cevag '%f cne2 perngr: snvyrq (%q)' % (ynfg, cerfhyg)
3497                     pbqr = cerfhyg
3498                 ryfr:
3499                     cevag '%f bx' % ynfg
3500             ryfr:
3501                 cevag '%f bx' % ynfg
3502     ryfr:
3503         nffreg(bcg.trarengr naq (abg cne2_bx be cne2_rkvfgf))
3504         qroht('    fxvccrq: cne2 svyr nyernql trarengrq.\a')
3505     erghea pbqr
3506
3507
3508 bcgfcrp = """
3509 ohc sfpx [bcgvbaf...] [svyranzrf...]
3510 --
3511 e,ercnve    nggrzcg gb ercnve reebef hfvat cne2 (qnatrebhf!)
3512 t,trarengr  trarengr nhgb-ercnve vasbezngvba hfvat cne2
3513 i,ireobfr   vapernfr ireobfvgl (pna or hfrq zber guna bapr)
3514 dhvpx       whfg purpx cnpx fun1fhz, qba'g hfr tvg irevsl-cnpx
3515 w,wbof=     eha 'a' wbof va cnenyyry
3516 cne2-bx     vzzrqvngryl erghea 0 vs cne2 vf bx, 1 vs abg
3517 qvfnoyr-cne2  vtaber cne2 rira vs vg vf ninvynoyr
3518 """
3519 b = bcgvbaf.Bcgvbaf('ohc sfpx', bcgfcrp)
3520 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
3521
3522 cne2_frghc()
3523 vs bcg.cne2_bx:
3524     vs cne2_bx:
3525         flf.rkvg(0)  # 'gehr' va fu
3526     ryfr:
3527         flf.rkvg(1)
3528 vs bcg.qvfnoyr_cne2:
3529     cne2_bx = 0
3530
3531 tvg.purpx_ercb_be_qvr()
3532
3533 vs abg rkgen:
3534     qroht('sfpx: Ab svyranzrf tvira: purpxvat nyy cnpxf.\a')
3535     rkgen = tybo.tybo(tvg.ercb('bowrpgf/cnpx/*.cnpx'))
3536
3537 pbqr = 0
3538 pbhag = 0
3539 bhgfgnaqvat = {}
3540 sbe anzr va rkgen:
3541     vs anzr.raqfjvgu('.cnpx'):
3542         onfr = anzr[:-5]
3543     ryvs anzr.raqfjvgu('.vqk'):
3544         onfr = anzr[:-4]
3545     ryvs anzr.raqfjvgu('.cne2'):
3546         onfr = anzr[:-5]
3547     ryvs bf.cngu.rkvfgf(anzr + '.cnpx'):
3548         onfr = anzr
3549     ryfr:
3550         envfr Rkprcgvba('%f vf abg n cnpx svyr!' % anzr)
3551     (qve,ynfg) = bf.cngu.fcyvg(onfr)
3552     cne2_rkvfgf = bf.cngu.rkvfgf(onfr + '.cne2')
3553     vs cne2_rkvfgf naq bf.fgng(onfr + '.cne2').fg_fvmr == 0:
3554         cne2_rkvfgf = 0
3555     flf.fgqbhg.syhfu()
3556     qroht('sfpx: purpxvat %f (%f)\a' 
3557           % (ynfg, cne2_bx naq cne2_rkvfgf naq 'cne2' be 'tvg'))
3558     vs abg bcg.ireobfr:
3559         cebterff('sfpx (%q/%q)\e' % (pbhag, yra(rkgen)))
3560     
3561     vs abg bcg.wbof:
3562         ap = qb_cnpx(onfr, ynfg)
3563         pbqr = pbqr be ap
3564         pbhag += 1
3565     ryfr:
3566         juvyr yra(bhgfgnaqvat) >= bcg.wbof:
3567             (cvq,ap) = bf.jnvg()
3568             ap >>= 8
3569             vs cvq va bhgfgnaqvat:
3570                 qry bhgfgnaqvat[cvq]
3571                 pbqr = pbqr be ap
3572                 pbhag += 1
3573         cvq = bf.sbex()
3574         vs cvq:  # cnerag
3575             bhgfgnaqvat[cvq] = 1
3576         ryfr: # puvyq
3577             gel:
3578                 flf.rkvg(qb_cnpx(onfr, ynfg))
3579             rkprcg Rkprcgvba, r:
3580                 ybt('rkprcgvba: %e\a' % r)
3581                 flf.rkvg(99)
3582                 
3583 juvyr yra(bhgfgnaqvat):
3584     (cvq,ap) = bf.jnvg()
3585     ap >>= 8
3586     vs cvq va bhgfgnaqvat:
3587         qry bhgfgnaqvat[cvq]
3588         pbqr = pbqr be ap
3589         pbhag += 1
3590     vs abg bcg.ireobfr:
3591         cebterff('sfpx (%q/%q)\e' % (pbhag, yra(rkgen)))
3592
3593 vs abg bcg.ireobfr naq vfggl:
3594     ybt('sfpx qbar.           \a')
3595 flf.rkvg(pbqr)
3596 #!/hfe/ova/rai clguba
3597 vzcbeg flf, bf, fgehpg, trgbcg, fhocebprff, fvtany
3598 sebz ohc vzcbeg bcgvbaf, ffu
3599 sebz ohc.urycref vzcbeg *
3600
3601 bcgfcrp = """
3602 ohc eonpxhc <ubfganzr> vaqrk ...
3603 ohc eonpxhc <ubfganzr> fnir ...
3604 ohc eonpxhc <ubfganzr> fcyvg ...
3605 """
3606 b = bcgvbaf.Bcgvbaf('ohc eonpxhc', bcgfcrp, bcgshap=trgbcg.trgbcg)
3607 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
3608 vs yra(rkgen) < 2:
3609     b.sngny('nethzragf rkcrpgrq')
3610
3611 pynff FvtRkprcgvba(Rkprcgvba):
3612     qrs __vavg__(frys, fvtahz):
3613         frys.fvtahz = fvtahz
3614         Rkprcgvba.__vavg__(frys, 'fvtany %q erprvirq' % fvtahz)
3615 qrs unaqyre(fvtahz, senzr):
3616     envfr FvtRkprcgvba(fvtahz)
3617
3618 fvtany.fvtany(fvtany.FVTGREZ, unaqyre)
3619 fvtany.fvtany(fvtany.FVTVAG, unaqyre)
3620
3621 fc = Abar
3622 c = Abar
3623 erg = 99
3624
3625 gel:
3626     ubfganzr = rkgen[0]
3627     neti = rkgen[1:]
3628     c = ffu.pbaarpg(ubfganzr, 'eonpxhc-freire')
3629
3630     netif = '\0'.wbva(['ohc'] + neti)
3631     c.fgqva.jevgr(fgehpg.cnpx('!V', yra(netif)) + netif)
3632     c.fgqva.syhfu()
3633
3634     znva_rkr = bf.raiveba.trg('OHC_ZNVA_RKR') be flf.neti[0]
3635     fc = fhocebprff.Cbcra([znva_rkr, 'freire'], fgqva=c.fgqbhg, fgqbhg=c.fgqva)
3636
3637     c.fgqva.pybfr()
3638     c.fgqbhg.pybfr()
3639
3640 svanyyl:
3641     juvyr 1:
3642         # vs jr trg n fvtany juvyr jnvgvat, jr unir gb xrrc jnvgvat, whfg
3643         # va pnfr bhe puvyq qbrfa'g qvr.
3644         gel:
3645             erg = c.jnvg()
3646             fc.jnvg()
3647             oernx
3648         rkprcg FvtRkprcgvba, r:
3649             ybt('\aohc eonpxhc: %f\a' % r)
3650             bf.xvyy(c.cvq, r.fvtahz)
3651             erg = 84
3652 flf.rkvg(erg)
3653 #!/hfe/ova/rai clguba
3654 vzcbeg flf, bf, er
3655 sebz ohc vzcbeg bcgvbaf
3656
3657 bcgfcrp = """
3658 ohc arjyvare
3659 """
3660 b = bcgvbaf.Bcgvbaf('ohc arjyvare', bcgfcrp)
3661 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
3662
3663 vs rkgen:
3664     b.sngny("ab nethzragf rkcrpgrq")
3665
3666 e = er.pbzcvyr(e'([\e\a])')
3667 ynfgyra = 0
3668 nyy = ''
3669 juvyr 1:
3670     y = e.fcyvg(nyy, 1)
3671     vs yra(y) <= 1:
3672         gel:
3673             o = bf.ernq(flf.fgqva.svyrab(), 4096)
3674         rkprcg XrlobneqVagreehcg:
3675             oernx
3676         vs abg o:
3677             oernx
3678         nyy += o
3679     ryfr:
3680         nffreg(yra(y) == 3)
3681         (yvar, fcyvgpune, nyy) = y
3682         #fcyvgpune = '\a'
3683         flf.fgqbhg.jevgr('%-*f%f' % (ynfgyra, yvar, fcyvgpune))
3684         vs fcyvgpune == '\e':
3685             ynfgyra = yra(yvar)
3686         ryfr:
3687             ynfgyra = 0
3688         flf.fgqbhg.syhfu()
3689
3690 vs ynfgyra be nyy:
3691     flf.fgqbhg.jevgr('%-*f\a' % (ynfgyra, nyy))
3692 #!/hfe/ova/rai clguba
3693 vzcbeg flf
3694 sebz ohc vzcbeg bcgvbaf, tvg, _unfufcyvg
3695 sebz ohc.urycref vzcbeg *
3696
3697
3698 bcgfcrp = """
3699 ohc znetva
3700 """
3701 b = bcgvbaf.Bcgvbaf('ohc znetva', bcgfcrp)
3702 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
3703
3704 vs rkgen:
3705     b.sngny("ab nethzragf rkcrpgrq")
3706
3707 tvg.purpx_ercb_be_qvr()
3708 #tvg.vtaber_zvqk = 1
3709
3710 zv = tvg.CnpxVqkYvfg(tvg.ercb('bowrpgf/cnpx'))
3711 ynfg = '\0'*20
3712 ybatzngpu = 0
3713 sbe v va zv:
3714     vs v == ynfg:
3715         pbagvahr
3716     #nffreg(fge(v) >= ynfg)
3717     cz = _unfufcyvg.ovgzngpu(ynfg, v)
3718     ybatzngpu = znk(ybatzngpu, cz)
3719     ynfg = v
3720 cevag ybatzngpu
3721 #!/hfe/ova/rai clguba
3722 sebz ohc vzcbeg bcgvbaf, qerphefr
3723 sebz ohc.urycref vzcbeg *
3724
3725 bcgfcrp = """
3726 ohc qerphefr <cngu>
3727 --
3728 k,kqri,bar-svyr-flfgrz   qba'g pebff svyrflfgrz obhaqnevrf
3729 d,dhvrg  qba'g npghnyyl cevag svyranzrf
3730 cebsvyr  eha haqre gur clguba cebsvyre
3731 """
3732 b = bcgvbaf.Bcgvbaf('ohc qerphefr', bcgfcrp)
3733 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
3734
3735 vs yra(rkgen) != 1:
3736     b.sngny("rknpgyl bar svyranzr rkcrpgrq")
3737
3738 vg = qerphefr.erphefvir_qveyvfg(rkgen, bcg.kqri)
3739 vs bcg.cebsvyr:
3740     vzcbeg pCebsvyr
3741     qrs qb_vg():
3742         sbe v va vg:
3743             cnff
3744     pCebsvyr.eha('qb_vg()')
3745 ryfr:
3746     vs bcg.dhvrg:
3747         sbe v va vg:
3748             cnff
3749     ryfr:
3750         sbe (anzr,fg) va vg:
3751             cevag anzr
3752
3753 vs fnirq_reebef:
3754     ybt('JNEAVAT: %q reebef rapbhagrerq.\a' % yra(fnirq_reebef))
3755     flf.rkvg(1)
3756 #!/hfe/ova/rai clguba
3757 vzcbeg flf, gvzr, fgehpg
3758 sebz ohc vzcbeg unfufcyvg, tvg, bcgvbaf, pyvrag
3759 sebz ohc.urycref vzcbeg *
3760 sebz fhocebprff vzcbeg CVCR
3761
3762
3763 bcgfcrp = """
3764 ohc fcyvg [-gpo] [-a anzr] [--orapu] [svyranzrf...]
3765 --
3766 e,erzbgr=  erzbgr ercbfvgbel cngu
3767 o,oybof    bhgchg n frevrf bs oybo vqf
3768 g,gerr     bhgchg n gerr vq
3769 p,pbzzvg   bhgchg n pbzzvg vq
3770 a,anzr=    anzr bs onpxhc frg gb hcqngr (vs nal)
3771 A,abbc     qba'g npghnyyl fnir gur qngn naljurer
3772 d,dhvrg    qba'g cevag cebterff zrffntrf
3773 i,ireobfr  vapernfr ybt bhgchg (pna or hfrq zber guna bapr)
3774 pbcl       whfg pbcl vachg gb bhgchg, unfufcyvggvat nybat gur jnl
3775 orapu      cevag orapuznex gvzvatf gb fgqree
3776 znk-cnpx-fvmr=  znkvzhz olgrf va n fvatyr cnpx
3777 znk-cnpx-bowrpgf=  znkvzhz ahzore bs bowrpgf va n fvatyr cnpx
3778 snabhg=  znkvzhz ahzore bs oybof va n fvatyr gerr
3779 """
3780 b = bcgvbaf.Bcgvbaf('ohc fcyvg', bcgfcrp)
3781 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
3782
3783 tvg.purpx_ercb_be_qvr()
3784 vs abg (bcg.oybof be bcg.gerr be bcg.pbzzvg be bcg.anzr be
3785         bcg.abbc be bcg.pbcl):
3786     b.sngny("hfr bar be zber bs -o, -g, -p, -a, -A, --pbcl")
3787 vs (bcg.abbc be bcg.pbcl) naq (bcg.oybof be bcg.gerr be 
3788                                bcg.pbzzvg be bcg.anzr):
3789     b.sngny('-A vf vapbzcngvoyr jvgu -o, -g, -p, -a')
3790
3791 vs bcg.ireobfr >= 2:
3792     tvg.ireobfr = bcg.ireobfr - 1
3793     bcg.orapu = 1
3794 vs bcg.znk_cnpx_fvmr:
3795     unfufcyvg.znk_cnpx_fvmr = cnefr_ahz(bcg.znk_cnpx_fvmr)
3796 vs bcg.znk_cnpx_bowrpgf:
3797     unfufcyvg.znk_cnpx_bowrpgf = cnefr_ahz(bcg.znk_cnpx_bowrpgf)
3798 vs bcg.snabhg:
3799     unfufcyvg.snabhg = cnefr_ahz(bcg.snabhg)
3800 vs bcg.oybof:
3801     unfufcyvg.snabhg = 0
3802
3803 vf_erirefr = bf.raiveba.trg('OHC_FREIRE_ERIREFR')
3804 vs vf_erirefr naq bcg.erzbgr:
3805     b.sngny("qba'g hfr -e va erirefr zbqr; vg'f nhgbzngvp")
3806 fgneg_gvzr = gvzr.gvzr()
3807
3808 ersanzr = bcg.anzr naq 'ersf/urnqf/%f' % bcg.anzr be Abar
3809 vs bcg.abbc be bcg.pbcl:
3810     pyv = j = byqers = Abar
3811 ryvs bcg.erzbgr be vf_erirefr:
3812     pyv = pyvrag.Pyvrag(bcg.erzbgr)
3813     byqers = ersanzr naq pyv.ernq_ers(ersanzr) be Abar
3814     j = pyv.arj_cnpxjevgre()
3815 ryfr:
3816     pyv = Abar
3817     byqers = ersanzr naq tvg.ernq_ers(ersanzr) be Abar
3818     j = tvg.CnpxJevgre()
3819
3820 svyrf = rkgen naq (bcra(sa) sbe sa va rkgen) be [flf.fgqva]
3821 vs j:
3822     funyvfg = unfufcyvg.fcyvg_gb_funyvfg(j, svyrf)
3823     gerr = j.arj_gerr(funyvfg)
3824 ryfr:
3825     ynfg = 0
3826     sbe (oybo, ovgf) va unfufcyvg.unfufcyvg_vgre(svyrf):
3827         unfufcyvg.gbgny_fcyvg += yra(oybo)
3828         vs bcg.pbcl:
3829             flf.fgqbhg.jevgr(fge(oybo))
3830         zrtf = unfufcyvg.gbgny_fcyvg/1024/1024
3831         vs abg bcg.dhvrg naq ynfg != zrtf:
3832             cebterff('%q Zolgrf ernq\e' % zrtf)
3833             ynfg = zrtf
3834     cebterff('%q Zolgrf ernq, qbar.\a' % zrtf)
3835
3836 vs bcg.ireobfr:
3837     ybt('\a')
3838 vs bcg.oybof:
3839     sbe (zbqr,anzr,ova) va funyvfg:
3840         cevag ova.rapbqr('urk')
3841 vs bcg.gerr:
3842     cevag gerr.rapbqr('urk')
3843 vs bcg.pbzzvg be bcg.anzr:
3844     zft = 'ohc fcyvg\a\aTrarengrq ol pbzznaq:\a%e' % flf.neti
3845     ers = bcg.anzr naq ('ersf/urnqf/%f' % bcg.anzr) be Abar
3846     pbzzvg = j.arj_pbzzvg(byqers, gerr, zft)
3847     vs bcg.pbzzvg:
3848         cevag pbzzvg.rapbqr('urk')
3849
3850 vs j:
3851     j.pybfr()  # zhfg pybfr orsber jr pna hcqngr gur ers
3852         
3853 vs bcg.anzr:
3854     vs pyv:
3855         pyv.hcqngr_ers(ersanzr, pbzzvg, byqers)
3856     ryfr:
3857         tvg.hcqngr_ers(ersanzr, pbzzvg, byqers)
3858
3859 vs pyv:
3860     pyv.pybfr()
3861
3862 frpf = gvzr.gvzr() - fgneg_gvzr
3863 fvmr = unfufcyvg.gbgny_fcyvg
3864 vs bcg.orapu:
3865     ybt('\aohc: %.2sxolgrf va %.2s frpf = %.2s xolgrf/frp\a'
3866         % (fvmr/1024., frpf, fvmr/1024./frpf))
3867 #!/hfe/ova/rai clguba
3868 vzcbeg flf, er, fgehpg, zznc
3869 sebz ohc vzcbeg tvg, bcgvbaf
3870 sebz ohc.urycref vzcbeg *
3871
3872
3873 qrs f_sebz_olgrf(olgrf):
3874     pyvfg = [pue(o) sbe o va olgrf]
3875     erghea ''.wbva(pyvfg)
3876
3877
3878 qrs ercbeg(pbhag):
3879     svryqf = ['IzFvmr', 'IzEFF', 'IzQngn', 'IzFgx']
3880     q = {}
3881     sbe yvar va bcra('/cebp/frys/fgnghf').ernqyvarf():
3882         y = er.fcyvg(e':\f*', yvar.fgevc(), 1)
3883         q[y[0]] = y[1]
3884     vs pbhag >= 0:
3885         r1 = pbhag
3886         svryqf = [q[x] sbe x va svryqf]
3887     ryfr:
3888         r1 = ''
3889     cevag ('%9f  ' + ('%10f ' * yra(svryqf))) % ghcyr([r1] + svryqf)
3890     flf.fgqbhg.syhfu()
3891
3892
3893 bcgfcrp = """
3894 ohc zrzgrfg [-a ryrzragf] [-p plpyrf]
3895 --
3896 a,ahzore=  ahzore bs bowrpgf cre plpyr
3897 p,plpyrf=  ahzore bs plpyrf gb eha
3898 vtaber-zvqk  vtaber .zvqk svyrf, hfr bayl .vqk svyrf
3899 """
3900 b = bcgvbaf.Bcgvbaf('ohc zrzgrfg', bcgfcrp)
3901 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
3902
3903 vs rkgen:
3904     b.sngny('ab nethzragf rkcrpgrq')
3905
3906 tvg.vtaber_zvqk = bcg.vtaber_zvqk
3907
3908 tvg.purpx_ercb_be_qvr()
3909 z = tvg.CnpxVqkYvfg(tvg.ercb('bowrpgf/cnpx'))
3910
3911 plpyrf = bcg.plpyrf be 100
3912 ahzore = bcg.ahzore be 10000
3913
3914 ercbeg(-1)
3915 s = bcra('/qri/henaqbz')
3916 n = zznc.zznc(-1, 20)
3917 ercbeg(0)
3918 sbe p va kenatr(plpyrf):
3919     sbe a va kenatr(ahzore):
3920         o = s.ernq(3)
3921         vs 0:
3922             olgrf = yvfg(fgehpg.hacnpx('!OOO', o)) + [0]*17
3923             olgrf[2] &= 0ks0
3924             ova = fgehpg.cnpx('!20f', f_sebz_olgrf(olgrf))
3925         ryfr:
3926             n[0:2] = o[0:2]
3927             n[2] = pue(beq(o[2]) & 0ks0)
3928             ova = fge(n[0:20])
3929         #cevag ova.rapbqr('urk')
3930         z.rkvfgf(ova)
3931     ercbeg((p+1)*ahzore)
3932 #!/hfe/ova/rai clguba
3933 vzcbeg flf, bf, fgng
3934 sebz ohc vzcbeg bcgvbaf, tvg, isf
3935 sebz ohc.urycref vzcbeg *
3936
3937 qrs cevag_abqr(grkg, a):
3938     cersvk = ''
3939     vs bcg.unfu:
3940         cersvk += "%f " % a.unfu.rapbqr('urk')
3941     vs fgng.F_VFQVE(a.zbqr):
3942         cevag '%f%f/' % (cersvk, grkg)
3943     ryvs fgng.F_VFYAX(a.zbqr):
3944         cevag '%f%f@' % (cersvk, grkg)
3945     ryfr:
3946         cevag '%f%f' % (cersvk, grkg)
3947
3948
3949 bcgfcrp = """
3950 ohc yf <qvef...>
3951 --
3952 f,unfu   fubj unfu sbe rnpu svyr
3953 """
3954 b = bcgvbaf.Bcgvbaf('ohc yf', bcgfcrp)
3955 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
3956
3957 tvg.purpx_ercb_be_qvr()
3958 gbc = isf.ErsYvfg(Abar)
3959
3960 vs abg rkgen:
3961     rkgen = ['/']
3962
3963 erg = 0
3964 sbe q va rkgen:
3965     gel:
3966         a = gbc.yerfbyir(q)
3967         vs fgng.F_VFQVE(a.zbqr):
3968             sbe fho va a:
3969                 cevag_abqr(fho.anzr, fho)
3970         ryfr:
3971             cevag_abqr(q, a)
3972     rkprcg isf.AbqrReebe, r:
3973         ybt('reebe: %f\a' % r)
3974         erg = 1
3975
3976 flf.rkvg(erg)
3977 #!/hfe/ova/rai clguba
3978 vzcbeg flf, bf, er, fgng, ernqyvar, sazngpu
3979 sebz ohc vzcbeg bcgvbaf, tvg, fudhbgr, isf
3980 sebz ohc.urycref vzcbeg *
3981
3982 qrs abqr_anzr(grkg, a):
3983     vs fgng.F_VFQVE(a.zbqr):
3984         erghea '%f/' % grkg
3985     ryvs fgng.F_VFYAX(a.zbqr):
3986         erghea '%f@' % grkg
3987     ryfr:
3988         erghea '%f' % grkg
3989
3990
3991 qrs qb_yf(cngu, a):
3992     y = []
3993     vs fgng.F_VFQVE(a.zbqr):
3994         sbe fho va a:
3995             y.nccraq(abqr_anzr(fho.anzr, fho))
3996     ryfr:
3997         y.nccraq(abqr_anzr(cngu, a))
3998     cevag pbyhzangr(y, '')
3999     
4000
4001 qrs jevgr_gb_svyr(vas, bhgs):
4002     sbe oybo va puhaxlernqre(vas):
4003         bhgs.jevgr(oybo)
4004     
4005
4006 qrs vachgvgre():
4007     vs bf.vfnggl(flf.fgqva.svyrab()):
4008         juvyr 1:
4009             gel:
4010                 lvryq enj_vachg('ohc> ')
4011             rkprcg RBSReebe:
4012                 oernx
4013     ryfr:
4014         sbe yvar va flf.fgqva:
4015             lvryq yvar
4016
4017
4018 qrs _pbzcyrgre_trg_fhof(yvar):
4019     (dglcr, ynfgjbeq) = fudhbgr.hasvavfurq_jbeq(yvar)
4020     (qve,anzr) = bf.cngu.fcyvg(ynfgjbeq)
4021     #ybt('\apbzcyrgre: %e %e %e\a' % (dglcr, ynfgjbeq, grkg))
4022     a = cjq.erfbyir(qve)
4023     fhof = yvfg(svygre(ynzoqn k: k.anzr.fgnegfjvgu(anzr),
4024                        a.fhof()))
4025     erghea (qve, anzr, dglcr, ynfgjbeq, fhof)
4026
4027
4028 _ynfg_yvar = Abar
4029 _ynfg_erf = Abar
4030 qrs pbzcyrgre(grkg, fgngr):
4031     tybony _ynfg_yvar
4032     tybony _ynfg_erf
4033     gel:
4034         yvar = ernqyvar.trg_yvar_ohssre()[:ernqyvar.trg_raqvqk()]
4035         vs _ynfg_yvar != yvar:
4036             _ynfg_erf = _pbzcyrgre_trg_fhof(yvar)
4037             _ynfg_yvar = yvar
4038         (qve, anzr, dglcr, ynfgjbeq, fhof) = _ynfg_erf
4039         vs fgngr < yra(fhof):
4040             fa = fhof[fgngr]
4041             fa1 = fa.erfbyir('')  # qrers flzyvaxf
4042             shyyanzr = bf.cngu.wbva(qve, fa.anzr)
4043             vs fgng.F_VFQVE(fa1.zbqr):
4044                 erg = fudhbgr.jung_gb_nqq(dglcr, ynfgjbeq, shyyanzr+'/',
4045                                           grezvangr=Snyfr)
4046             ryfr:
4047                 erg = fudhbgr.jung_gb_nqq(dglcr, ynfgjbeq, shyyanzr,
4048                                           grezvangr=Gehr) + ' '
4049             erghea grkg + erg
4050     rkprcg Rkprcgvba, r:
4051         ybt('\areebe va pbzcyrgvba: %f\a' % r)
4052
4053             
4054 bcgfcrp = """
4055 ohc sgc
4056 """
4057 b = bcgvbaf.Bcgvbaf('ohc sgc', bcgfcrp)
4058 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
4059
4060 tvg.purpx_ercb_be_qvr()
4061
4062 gbc = isf.ErsYvfg(Abar)
4063 cjq = gbc
4064
4065 vs rkgen:
4066     yvarf = rkgen
4067 ryfr:
4068     ernqyvar.frg_pbzcyrgre_qryvzf(' \g\a\e/')
4069     ernqyvar.frg_pbzcyrgre(pbzcyrgre)
4070     ernqyvar.cnefr_naq_ovaq("gno: pbzcyrgr")
4071     yvarf = vachgvgre()
4072
4073 sbe yvar va yvarf:
4074     vs abg yvar.fgevc():
4075         pbagvahr
4076     jbeqf = [jbeq sbe (jbeqfgneg,jbeq) va fudhbgr.dhbgrfcyvg(yvar)]
4077     pzq = jbeqf[0].ybjre()
4078     #ybt('rkrphgr: %e %e\a' % (pzq, cnez))
4079     gel:
4080         vs pzq == 'yf':
4081             sbe cnez va (jbeqf[1:] be ['.']):
4082                 qb_yf(cnez, cjq.erfbyir(cnez))
4083         ryvs pzq == 'pq':
4084             sbe cnez va jbeqf[1:]:
4085                 cjq = cjq.erfbyir(cnez)
4086         ryvs pzq == 'cjq':
4087             cevag cjq.shyyanzr()
4088         ryvs pzq == 'png':
4089             sbe cnez va jbeqf[1:]:
4090                 jevgr_gb_svyr(cjq.erfbyir(cnez).bcra(), flf.fgqbhg)
4091         ryvs pzq == 'trg':
4092             vs yra(jbeqf) abg va [2,3]:
4093                 envfr Rkprcgvba('Hfntr: trg <svyranzr> [ybpnyanzr]')
4094             eanzr = jbeqf[1]
4095             (qve,onfr) = bf.cngu.fcyvg(eanzr)
4096             yanzr = yra(jbeqf)>2 naq jbeqf[2] be onfr
4097             vas = cjq.erfbyir(eanzr).bcra()
4098             ybt('Fnivat %e\a' % yanzr)
4099             jevgr_gb_svyr(vas, bcra(yanzr, 'jo'))
4100         ryvs pzq == 'ztrg':
4101             sbe cnez va jbeqf[1:]:
4102                 (qve,onfr) = bf.cngu.fcyvg(cnez)
4103                 sbe a va cjq.erfbyir(qve).fhof():
4104                     vs sazngpu.sazngpu(a.anzr, onfr):
4105                         gel:
4106                             ybt('Fnivat %e\a' % a.anzr)
4107                             vas = a.bcra()
4108                             bhgs = bcra(a.anzr, 'jo')
4109                             jevgr_gb_svyr(vas, bhgs)
4110                             bhgs.pybfr()
4111                         rkprcg Rkprcgvba, r:
4112                             ybt('  reebe: %f\a' % r)
4113         ryvs pzq == 'uryc' be pzq == '?':
4114             ybt('Pbzznaqf: yf pq cjq png trg ztrg uryc dhvg\a')
4115         ryvs pzq == 'dhvg' be pzq == 'rkvg' be pzq == 'olr':
4116             oernx
4117         ryfr:
4118             envfr Rkprcgvba('ab fhpu pbzznaq %e' % pzq)
4119     rkprcg Rkprcgvba, r:
4120         ybt('reebe: %f\a' % r)
4121         #envfr
4122 #!/hfe/ova/rai clguba
4123 vzcbeg flf, zznc
4124 sebz ohc vzcbeg bcgvbaf, _unfufcyvg
4125 sebz ohc.urycref vzcbeg *
4126
4127 bcgfcrp = """
4128 ohc enaqbz [-F frrq] <ahzolgrf>
4129 --
4130 F,frrq=   bcgvbany enaqbz ahzore frrq (qrsnhyg 1)
4131 s,sbepr   cevag enaqbz qngn gb fgqbhg rira vs vg'f n ggl
4132 """
4133 b = bcgvbaf.Bcgvbaf('ohc enaqbz', bcgfcrp)
4134 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
4135
4136 vs yra(rkgen) != 1:
4137     b.sngny("rknpgyl bar nethzrag rkcrpgrq")
4138
4139 gbgny = cnefr_ahz(rkgen[0])
4140
4141 vs bcg.sbepr be (abg bf.vfnggl(1) naq
4142                  abg ngbv(bf.raiveba.trg('OHC_SBEPR_GGL')) & 1):
4143     _unfufcyvg.jevgr_enaqbz(flf.fgqbhg.svyrab(), gbgny, bcg.frrq be 0)
4144 ryfr:
4145     ybt('reebe: abg jevgvat ovanel qngn gb n grezvany. Hfr -s gb sbepr.\a')
4146     flf.rkvg(1)
4147 #!/hfe/ova/rai clguba
4148 vzcbeg flf, bf, tybo
4149 sebz ohc vzcbeg bcgvbaf
4150
4151 bcgfcrp = """
4152 ohc uryc <pbzznaq>
4153 """
4154 b = bcgvbaf.Bcgvbaf('ohc uryc', bcgfcrp)
4155 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
4156
4157 vs yra(rkgen) == 0:
4158     # gur jenccre cebtenz cebivqrf gur qrsnhyg hfntr fgevat
4159     bf.rkrpic(bf.raiveba['OHC_ZNVA_RKR'], ['ohc'])
4160 ryvs yra(rkgen) == 1:
4161     qbpanzr = (rkgen[0]=='ohc' naq 'ohc' be ('ohc-%f' % rkgen[0]))
4162     rkr = flf.neti[0]
4163     (rkrcngu, rkrsvyr) = bf.cngu.fcyvg(rkr)
4164     znacngu = bf.cngu.wbva(rkrcngu, '../Qbphzragngvba/' + qbpanzr + '.[1-9]')
4165     t = tybo.tybo(znacngu)
4166     vs t:
4167         bf.rkrpic('zna', ['zna', '-y', t[0]])
4168     ryfr:
4169         bf.rkrpic('zna', ['zna', qbpanzr])
4170 ryfr:
4171     b.sngny("rknpgyl bar pbzznaq anzr rkcrpgrq")
4172 #!/hfe/ova/rai clguba
4173 vzcbeg flf, bf, fgng, reeab, shfr, er, gvzr, grzcsvyr
4174 sebz ohc vzcbeg bcgvbaf, tvg, isf
4175 sebz ohc.urycref vzcbeg *
4176
4177
4178 pynff Fgng(shfr.Fgng):
4179     qrs __vavg__(frys):
4180         frys.fg_zbqr = 0
4181         frys.fg_vab = 0
4182         frys.fg_qri = 0
4183         frys.fg_ayvax = 0
4184         frys.fg_hvq = 0
4185         frys.fg_tvq = 0
4186         frys.fg_fvmr = 0
4187         frys.fg_ngvzr = 0
4188         frys.fg_zgvzr = 0
4189         frys.fg_pgvzr = 0
4190         frys.fg_oybpxf = 0
4191         frys.fg_oyxfvmr = 0
4192         frys.fg_eqri = 0
4193
4194
4195 pnpur = {}
4196 qrs pnpur_trg(gbc, cngu):
4197     cnegf = cngu.fcyvg('/')
4198     pnpur[('',)] = gbc
4199     p = Abar
4200     znk = yra(cnegf)
4201     #ybt('pnpur: %e\a' % pnpur.xrlf())
4202     sbe v va enatr(znk):
4203         cer = cnegf[:znk-v]
4204         #ybt('pnpur gelvat: %e\a' % cer)
4205         p = pnpur.trg(ghcyr(cer))
4206         vs p:
4207             erfg = cnegf[znk-v:]
4208             sbe e va erfg:
4209                 #ybt('erfbyivat %e sebz %e\a' % (e, p.shyyanzr()))
4210                 p = p.yerfbyir(e)
4211                 xrl = ghcyr(cer + [e])
4212                 #ybt('fnivat: %e\a' % (xrl,))
4213                 pnpur[xrl] = p
4214             oernx
4215     nffreg(p)
4216     erghea p
4217         
4218     
4219
4220 pynff OhcSf(shfr.Shfr):
4221     qrs __vavg__(frys, gbc):
4222         shfr.Shfr.__vavg__(frys)
4223         frys.gbc = gbc
4224     
4225     qrs trgngge(frys, cngu):
4226         ybt('--trgngge(%e)\a' % cngu)
4227         gel:
4228             abqr = pnpur_trg(frys.gbc, cngu)
4229             fg = Fgng()
4230             fg.fg_zbqr = abqr.zbqr
4231             fg.fg_ayvax = abqr.ayvaxf()
4232             fg.fg_fvmr = abqr.fvmr()
4233             fg.fg_zgvzr = abqr.zgvzr
4234             fg.fg_pgvzr = abqr.pgvzr
4235             fg.fg_ngvzr = abqr.ngvzr
4236             erghea fg
4237         rkprcg isf.AbFhpuSvyr:
4238             erghea -reeab.RABRAG
4239
4240     qrs ernqqve(frys, cngu, bssfrg):
4241         ybt('--ernqqve(%e)\a' % cngu)
4242         abqr = pnpur_trg(frys.gbc, cngu)
4243         lvryq shfr.Qveragel('.')
4244         lvryq shfr.Qveragel('..')
4245         sbe fho va abqr.fhof():
4246             lvryq shfr.Qveragel(fho.anzr)
4247
4248     qrs ernqyvax(frys, cngu):
4249         ybt('--ernqyvax(%e)\a' % cngu)
4250         abqr = pnpur_trg(frys.gbc, cngu)
4251         erghea abqr.ernqyvax()
4252
4253     qrs bcra(frys, cngu, syntf):
4254         ybt('--bcra(%e)\a' % cngu)
4255         abqr = pnpur_trg(frys.gbc, cngu)
4256         nppzbqr = bf.B_EQBAYL | bf.B_JEBAYL | bf.B_EQJE
4257         vs (syntf & nppzbqr) != bf.B_EQBAYL:
4258             erghea -reeab.RNPPRF
4259         abqr.bcra()
4260
4261     qrs eryrnfr(frys, cngu, syntf):
4262         ybt('--eryrnfr(%e)\a' % cngu)
4263
4264     qrs ernq(frys, cngu, fvmr, bssfrg):
4265         ybt('--ernq(%e)\a' % cngu)
4266         a = pnpur_trg(frys.gbc, cngu)
4267         b = a.bcra()
4268         b.frrx(bssfrg)
4269         erghea b.ernq(fvmr)
4270
4271
4272 vs abg unfngge(shfr, '__irefvba__'):
4273     envfr EhagvzrReebe, "lbhe shfr zbqhyr vf gbb byq sbe shfr.__irefvba__"
4274 shfr.shfr_clguba_ncv = (0, 2)
4275
4276
4277 bcgfcrp = """
4278 ohc shfr [-q] [-s] <zbhagcbvag>
4279 --
4280 q,qroht   vapernfr qroht yriry
4281 s,sbertebhaq  eha va sbertebhaq
4282 """
4283 b = bcgvbaf.Bcgvbaf('ohc shfr', bcgfcrp)
4284 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
4285
4286 vs yra(rkgen) != 1:
4287     b.sngny("rknpgyl bar nethzrag rkcrpgrq")
4288
4289 tvg.purpx_ercb_be_qvr()
4290 gbc = isf.ErsYvfg(Abar)
4291 s = OhcSf(gbc)
4292 s.shfr_netf.zbhagcbvag = rkgen[0]
4293 vs bcg.qroht:
4294     s.shfr_netf.nqq('qroht')
4295 vs bcg.sbertebhaq:
4296     s.shfr_netf.frgzbq('sbertebhaq')
4297 cevag s.zhygvguernqrq
4298 s.zhygvguernqrq = Snyfr
4299
4300 s.znva()
4301 #!/hfe/ova/rai clguba
4302 sebz ohc vzcbeg tvg, bcgvbaf, pyvrag
4303 sebz ohc.urycref vzcbeg *
4304
4305 bcgfcrp = """
4306 [OHC_QVE=...] ohc vavg [-e ubfg:cngu]
4307 --
4308 e,erzbgr=  erzbgr ercbfvgbel cngu
4309 """
4310 b = bcgvbaf.Bcgvbaf('ohc vavg', bcgfcrp)
4311 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
4312
4313 vs rkgen:
4314     b.sngny("ab nethzragf rkcrpgrq")
4315
4316
4317 vs bcg.erzbgr:
4318     tvg.vavg_ercb()  # ybpny ercb
4319     tvg.purpx_ercb_be_qvr()
4320     pyv = pyvrag.Pyvrag(bcg.erzbgr, perngr=Gehr)
4321     pyv.pybfr()
4322 ryfr:
4323     tvg.vavg_ercb()
4324 #!/hfe/ova/rai clguba
4325 vzcbeg flf, zngu, fgehpg, tybo
4326 sebz ohc vzcbeg bcgvbaf, tvg
4327 sebz ohc.urycref vzcbeg *
4328
4329 CNTR_FVMR=4096
4330 FUN_CRE_CNTR=CNTR_FVMR/200.
4331
4332
4333 qrs zretr(vqkyvfg, ovgf, gnoyr):
4334     pbhag = 0
4335     sbe r va tvg.vqkzretr(vqkyvfg):
4336         pbhag += 1
4337         cersvk = tvg.rkgenpg_ovgf(r, ovgf)
4338         gnoyr[cersvk] = pbhag
4339         lvryq r
4340
4341
4342 qrs qb_zvqk(bhgqve, bhgsvyranzr, vasvyranzrf):
4343     vs abg bhgsvyranzr:
4344         nffreg(bhgqve)
4345         fhz = Fun1('\0'.wbva(vasvyranzrf)).urkqvtrfg()
4346         bhgsvyranzr = '%f/zvqk-%f.zvqk' % (bhgqve, fhz)
4347     
4348     vac = []
4349     gbgny = 0
4350     sbe anzr va vasvyranzrf:
4351         vk = tvg.CnpxVqk(anzr)
4352         vac.nccraq(vk)
4353         gbgny += yra(vk)
4354
4355     ybt('Zretvat %q vaqrkrf (%q bowrpgf).\a' % (yra(vasvyranzrf), gbgny))
4356     vs (abg bcg.sbepr naq (gbgny < 1024 naq yra(vasvyranzrf) < 3)) \
4357        be (bcg.sbepr naq abg gbgny):
4358         ybt('zvqk: abguvat gb qb.\a')
4359         erghea
4360
4361     cntrf = vag(gbgny/FUN_CRE_CNTR) be 1
4362     ovgf = vag(zngu.prvy(zngu.ybt(cntrf, 2)))
4363     ragevrf = 2**ovgf
4364     ybt('Gnoyr fvmr: %q (%q ovgf)\a' % (ragevrf*4, ovgf))
4365     
4366     gnoyr = [0]*ragevrf
4367
4368     gel:
4369         bf.hayvax(bhgsvyranzr)
4370     rkprcg BFReebe:
4371         cnff
4372     s = bcra(bhgsvyranzr + '.gzc', 'j+')
4373     s.jevgr('ZVQK\0\0\0\2')
4374     s.jevgr(fgehpg.cnpx('!V', ovgf))
4375     nffreg(s.gryy() == 12)
4376     s.jevgr('\0'*4*ragevrf)
4377     
4378     sbe r va zretr(vac, ovgf, gnoyr):
4379         s.jevgr(r)
4380         
4381     s.jevgr('\0'.wbva(bf.cngu.onfranzr(c) sbe c va vasvyranzrf))
4382
4383     s.frrx(12)
4384     s.jevgr(fgehpg.cnpx('!%qV' % ragevrf, *gnoyr))
4385     s.pybfr()
4386     bf.eranzr(bhgsvyranzr + '.gzc', bhgsvyranzr)
4387
4388     # guvf vf whfg sbe grfgvat
4389     vs 0:
4390         c = tvg.CnpxZvqk(bhgsvyranzr)
4391         nffreg(yra(c.vqkanzrf) == yra(vasvyranzrf))
4392         cevag c.vqkanzrf
4393         nffreg(yra(c) == gbgny)
4394         cv = vgre(c)
4395         sbe v va zretr(vac, gbgny, ovgf, gnoyr):
4396             nffreg(v == cv.arkg())
4397             nffreg(c.rkvfgf(v))
4398
4399     cevag bhgsvyranzr
4400
4401 bcgfcrp = """
4402 ohc zvqk [bcgvbaf...] <vqkanzrf...>
4403 --
4404 b,bhgchg=  bhgchg zvqk svyranzr (qrsnhyg: nhgb-trarengrq)
4405 n,nhgb     nhgbzngvpnyyl perngr .zvqk sebz nal havaqrkrq .vqk svyrf
4406 s,sbepr    nhgbzngvpnyyl perngr .zvqk sebz *nyy* .vqk svyrf
4407 """
4408 b = bcgvbaf.Bcgvbaf('ohc zvqk', bcgfcrp)
4409 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
4410
4411 vs rkgen naq (bcg.nhgb be bcg.sbepr):
4412     b.sngny("lbh pna'g hfr -s/-n naq nyfb cebivqr svyranzrf")
4413
4414 tvg.purpx_ercb_be_qvr()
4415
4416 vs rkgen:
4417     qb_zvqk(tvg.ercb('bowrpgf/cnpx'), bcg.bhgchg, rkgen)
4418 ryvs bcg.nhgb be bcg.sbepr:
4419     cnguf = [tvg.ercb('bowrpgf/cnpx')]
4420     cnguf += tybo.tybo(tvg.ercb('vaqrk-pnpur/*/.'))
4421     sbe cngu va cnguf:
4422         ybt('zvqk: fpnaavat %f\a' % cngu)
4423         vs bcg.sbepr:
4424             qb_zvqk(cngu, bcg.bhgchg, tybo.tybo('%f/*.vqk' % cngu))
4425         ryvs bcg.nhgb:
4426             z = tvg.CnpxVqkYvfg(cngu)
4427             arrqrq = {}
4428             sbe cnpx va z.cnpxf:  # bayl .vqk svyrf jvgubhg n .zvqk ner bcra
4429                 vs cnpx.anzr.raqfjvgu('.vqk'):
4430                     arrqrq[cnpx.anzr] = 1
4431             qry z
4432             qb_zvqk(cngu, bcg.bhgchg, arrqrq.xrlf())
4433         ybt('\a')
4434 ryfr:
4435     b.sngny("lbh zhfg hfr -s be -n be cebivqr vachg svyranzrf")
4436 #!/hfe/ova/rai clguba
4437 vzcbeg flf, bf, enaqbz
4438 sebz ohc vzcbeg bcgvbaf
4439 sebz ohc.urycref vzcbeg *
4440
4441
4442 qrs enaqoybpx(a):
4443     y = []
4444     sbe v va kenatr(a):
4445         y.nccraq(pue(enaqbz.enaqenatr(0,256)))
4446     erghea ''.wbva(y)
4447
4448
4449 bcgfcrp = """
4450 ohc qnzntr [-a pbhag] [-f znkfvmr] [-F frrq] <svyranzrf...>
4451 --
4452    JNEAVAT: GUVF PBZZNAQ VF RKGERZRYL QNATREBHF
4453 a,ahz=   ahzore bs oybpxf gb qnzntr
4454 f,fvmr=  znkvzhz fvmr bs rnpu qnzntrq oybpx
4455 creprag= znkvzhz fvmr bs rnpu qnzntrq oybpx (nf n creprag bs ragver svyr)
4456 rdhny    fcernq qnzntr rirayl guebhtubhg gur svyr
4457 F,frrq=  enaqbz ahzore frrq (sbe ercrngnoyr grfgf)
4458 """
4459 b = bcgvbaf.Bcgvbaf('ohc qnzntr', bcgfcrp)
4460 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
4461
4462 vs abg rkgen:
4463     b.sngny('svyranzrf rkcrpgrq')
4464
4465 vs bcg.frrq != Abar:
4466     enaqbz.frrq(bcg.frrq)
4467
4468 sbe anzr va rkgen:
4469     ybt('Qnzntvat "%f"...\a' % anzr)
4470     s = bcra(anzr, 'e+o')
4471     fg = bf.sfgng(s.svyrab())
4472     fvmr = fg.fg_fvmr
4473     vs bcg.creprag be bcg.fvmr:
4474         zf1 = vag(sybng(bcg.creprag be 0)/100.0*fvmr) be fvmr
4475         zf2 = bcg.fvmr be fvmr
4476         znkfvmr = zva(zf1, zf2)
4477     ryfr:
4478         znkfvmr = 1
4479     puhaxf = bcg.ahz be 10
4480     puhaxfvmr = fvmr/puhaxf
4481     sbe e va enatr(puhaxf):
4482         fm = enaqbz.enaqenatr(1, znkfvmr+1)
4483         vs fm > fvmr:
4484             fm = fvmr
4485         vs bcg.rdhny:
4486             bsf = e*puhaxfvmr
4487         ryfr:
4488             bsf = enaqbz.enaqenatr(0, fvmr - fm + 1)
4489         ybt('  %6q olgrf ng %q\a' % (fm, bsf))
4490         s.frrx(bsf)
4491         s.jevgr(enaqoybpx(fm))
4492     s.pybfr()
4493 #!/hfe/ova/rai clguba
4494 vzcbeg flf, fgehpg, zznc
4495 sebz ohc vzcbeg bcgvbaf, tvg
4496 sebz ohc.urycref vzcbeg *
4497
4498 fhfcraqrq_j = Abar
4499
4500
4501 qrs vavg_qve(pbaa, net):
4502     tvg.vavg_ercb(net)
4503     ybt('ohc freire: ohcqve vavgvnyvmrq: %e\a' % tvg.ercbqve)
4504     pbaa.bx()
4505
4506
4507 qrs frg_qve(pbaa, net):
4508     tvg.purpx_ercb_be_qvr(net)
4509     ybt('ohc freire: ohcqve vf %e\a' % tvg.ercbqve)
4510     pbaa.bx()
4511
4512     
4513 qrs yvfg_vaqrkrf(pbaa, whax):
4514     tvg.purpx_ercb_be_qvr()
4515     sbe s va bf.yvfgqve(tvg.ercb('bowrpgf/cnpx')):
4516         vs s.raqfjvgu('.vqk'):
4517             pbaa.jevgr('%f\a' % s)
4518     pbaa.bx()
4519
4520
4521 qrs fraq_vaqrk(pbaa, anzr):
4522     tvg.purpx_ercb_be_qvr()
4523     nffreg(anzr.svaq('/') < 0)
4524     nffreg(anzr.raqfjvgu('.vqk'))
4525     vqk = tvg.CnpxVqk(tvg.ercb('bowrpgf/cnpx/%f' % anzr))
4526     pbaa.jevgr(fgehpg.cnpx('!V', yra(vqk.znc)))
4527     pbaa.jevgr(vqk.znc)
4528     pbaa.bx()
4529
4530
4531 qrs erprvir_bowrpgf(pbaa, whax):
4532     tybony fhfcraqrq_j
4533     tvg.purpx_ercb_be_qvr()
4534     fhttrfgrq = {}
4535     vs fhfcraqrq_j:
4536         j = fhfcraqrq_j
4537         fhfcraqrq_j = Abar
4538     ryfr:
4539         j = tvg.CnpxJevgre()
4540     juvyr 1:
4541         af = pbaa.ernq(4)
4542         vs abg af:
4543             j.nobeg()
4544             envfr Rkprcgvba('bowrpg ernq: rkcrpgrq yratgu urnqre, tbg RBS\a')
4545         a = fgehpg.hacnpx('!V', af)[0]
4546         #ybt('rkcrpgvat %q olgrf\a' % a)
4547         vs abg a:
4548             ybt('ohc freire: erprvirq %q bowrpg%f.\a' 
4549                 % (j.pbhag, j.pbhag!=1 naq "f" be ''))
4550             shyycngu = j.pybfr()
4551             vs shyycngu:
4552                 (qve, anzr) = bf.cngu.fcyvg(shyycngu)
4553                 pbaa.jevgr('%f.vqk\a' % anzr)
4554             pbaa.bx()
4555             erghea
4556         ryvs a == 0kssssssss:
4557             ybt('ohc freire: erprvir-bowrpgf fhfcraqrq.\a')
4558             fhfcraqrq_j = j
4559             pbaa.bx()
4560             erghea
4561             
4562         ohs = pbaa.ernq(a)  # bowrpg fvmrf va ohc ner ernfbanoyl fznyy
4563         #ybt('ernq %q olgrf\a' % a)
4564         vs yra(ohs) < a:
4565             j.nobeg()
4566             envfr Rkprcgvba('bowrpg ernq: rkcrpgrq %q olgrf, tbg %q\a'
4567                             % (a, yra(ohs)))
4568         (glcr, pbagrag) = tvg._qrpbqr_cnpxbow(ohs)
4569         fun = tvg.pnyp_unfu(glcr, pbagrag)
4570         byqcnpx = j.rkvfgf(fun)
4571         # SVKZR: jr bayl fhttrfg n fvatyr vaqrk cre plpyr, orpnhfr gur pyvrag
4572         # vf pheeragyl qhzo gb qbjaybnq zber guna bar cre plpyr naljnl.
4573         # Npghnyyl jr fubhyq svk gur pyvrag, ohg guvf vf n zvabe bcgvzvmngvba
4574         # ba gur freire fvqr.
4575         vs abg fhttrfgrq naq \
4576           byqcnpx naq (byqcnpx == Gehr be byqcnpx.raqfjvgu('.zvqk')):
4577             # SVKZR: jr fubhyqa'g ernyyl unir gb xabj nobhg zvqk svyrf
4578             # ng guvf ynlre.  Ohg rkvfgf() ba n zvqk qbrfa'g erghea gur
4579             # cnpxanzr (fvapr vg qbrfa'g xabj)... cebonoyl jr fubhyq whfg
4580             # svk gung qrsvpvrapl bs zvqk svyrf riraghnyyl, nygubhtu vg'yy
4581             # znxr gur svyrf ovttre.  Guvf zrgubq vf pregnvayl abg irel
4582             # rssvpvrag.
4583             j.bowpnpur.erserfu(fxvc_zvqk = Gehr)
4584             byqcnpx = j.bowpnpur.rkvfgf(fun)
4585             ybt('arj fhttrfgvba: %e\a' % byqcnpx)
4586             nffreg(byqcnpx)
4587             nffreg(byqcnpx != Gehr)
4588             nffreg(abg byqcnpx.raqfjvgu('.zvqk'))
4589             j.bowpnpur.erserfu(fxvc_zvqk = Snyfr)
4590         vs abg fhttrfgrq naq byqcnpx:
4591             nffreg(byqcnpx.raqfjvgu('.vqk'))
4592             (qve,anzr) = bf.cngu.fcyvg(byqcnpx)
4593             vs abg (anzr va fhttrfgrq):
4594                 ybt("ohc freire: fhttrfgvat vaqrk %f\a" % anzr)
4595                 pbaa.jevgr('vaqrk %f\a' % anzr)
4596                 fhttrfgrq[anzr] = 1
4597         ryfr:
4598             j._enj_jevgr([ohs])
4599     # ABGERNPURQ
4600
4601
4602 qrs ernq_ers(pbaa, ersanzr):
4603     tvg.purpx_ercb_be_qvr()
4604     e = tvg.ernq_ers(ersanzr)
4605     pbaa.jevgr('%f\a' % (e be '').rapbqr('urk'))
4606     pbaa.bx()
4607
4608
4609 qrs hcqngr_ers(pbaa, ersanzr):
4610     tvg.purpx_ercb_be_qvr()
4611     arjiny = pbaa.ernqyvar().fgevc()
4612     byqiny = pbaa.ernqyvar().fgevc()
4613     tvg.hcqngr_ers(ersanzr, arjiny.qrpbqr('urk'), byqiny.qrpbqr('urk'))
4614     pbaa.bx()
4615
4616
4617 qrs png(pbaa, vq):
4618     tvg.purpx_ercb_be_qvr()
4619     gel:
4620         sbe oybo va tvg.png(vq):
4621             pbaa.jevgr(fgehpg.cnpx('!V', yra(oybo)))
4622             pbaa.jevgr(oybo)
4623     rkprcg XrlReebe, r:
4624         ybt('freire: reebe: %f\a' % r)
4625         pbaa.jevgr('\0\0\0\0')
4626         pbaa.reebe(r)
4627     ryfr:
4628         pbaa.jevgr('\0\0\0\0')
4629         pbaa.bx()
4630
4631
4632 bcgfcrp = """
4633 ohc freire
4634 """
4635 b = bcgvbaf.Bcgvbaf('ohc freire', bcgfcrp)
4636 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
4637
4638 vs rkgen:
4639     b.sngny('ab nethzragf rkcrpgrq')
4640
4641 ybt('ohc freire: ernqvat sebz fgqva.\a')
4642
4643 pbzznaqf = {
4644     'vavg-qve': vavg_qve,
4645     'frg-qve': frg_qve,
4646     'yvfg-vaqrkrf': yvfg_vaqrkrf,
4647     'fraq-vaqrk': fraq_vaqrk,
4648     'erprvir-bowrpgf': erprvir_bowrpgf,
4649     'ernq-ers': ernq_ers,
4650     'hcqngr-ers': hcqngr_ers,
4651     'png': png,
4652 }
4653
4654 # SVKZR: guvf cebgbpby vf gbgnyyl ynzr naq abg ng nyy shgher-cebbs.
4655 # (Rfcrpvnyyl fvapr jr nobeg pbzcyrgryl nf fbba nf *nalguvat* onq unccraf)
4656 pbaa = Pbaa(flf.fgqva, flf.fgqbhg)
4657 ye = yvarernqre(pbaa)
4658 sbe _yvar va ye:
4659     yvar = _yvar.fgevc()
4660     vs abg yvar:
4661         pbagvahr
4662     ybt('ohc freire: pbzznaq: %e\a' % yvar)
4663     jbeqf = yvar.fcyvg(' ', 1)
4664     pzq = jbeqf[0]
4665     erfg = yra(jbeqf)>1 naq jbeqf[1] be ''
4666     vs pzq == 'dhvg':
4667         oernx
4668     ryfr:
4669         pzq = pbzznaqf.trg(pzq)
4670         vs pzq:
4671             pzq(pbaa, erfg)
4672         ryfr:
4673             envfr Rkprcgvba('haxabja freire pbzznaq: %e\a' % yvar)
4674
4675 ybt('ohc freire: qbar\a')
4676 #!/hfe/ova/rai clguba
4677 vzcbeg flf, gvzr, fgehpg
4678 sebz ohc vzcbeg unfufcyvg, tvg, bcgvbaf, pyvrag
4679 sebz ohc.urycref vzcbeg *
4680 sebz fhocebprff vzcbeg CVCR
4681
4682
4683 bcgfcrp = """
4684 ohc wbva [-e ubfg:cngu] [ersf be unfurf...]
4685 --
4686 e,erzbgr=  erzbgr ercbfvgbel cngu
4687 """
4688 b = bcgvbaf.Bcgvbaf('ohc wbva', bcgfcrp)
4689 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
4690
4691 tvg.purpx_ercb_be_qvr()
4692
4693 vs abg rkgen:
4694     rkgen = yvarernqre(flf.fgqva)
4695
4696 erg = 0
4697
4698 vs bcg.erzbgr:
4699     pyv = pyvrag.Pyvrag(bcg.erzbgr)
4700     png = pyv.png
4701 ryfr:
4702     pc = tvg.PngCvcr()
4703     png = pc.wbva
4704
4705 sbe vq va rkgen:
4706     gel:
4707         sbe oybo va png(vq):
4708             flf.fgqbhg.jevgr(oybo)
4709     rkprcg XrlReebe, r:
4710         flf.fgqbhg.syhfu()
4711         ybt('reebe: %f\a' % r)
4712         erg = 1
4713
4714 flf.rkvg(erg)
4715 #!/hfe/ova/rai clguba
4716 vzcbeg flf, er, reeab, fgng, gvzr, zngu
4717 sebz ohc vzcbeg unfufcyvg, tvg, bcgvbaf, vaqrk, pyvrag
4718 sebz ohc.urycref vzcbeg *
4719
4720
4721 bcgfcrp = """
4722 ohc fnir [-gp] [-a anzr] <svyranzrf...>
4723 --
4724 e,erzbgr=  erzbgr ercbfvgbel cngu
4725 g,gerr     bhgchg n gerr vq
4726 p,pbzzvg   bhgchg n pbzzvg vq
4727 a,anzr=    anzr bs onpxhc frg gb hcqngr (vs nal)
4728 i,ireobfr  vapernfr ybt bhgchg (pna or hfrq zber guna bapr)
4729 d,dhvrg    qba'g fubj cebterff zrgre
4730 fznyyre=   bayl onpx hc svyrf fznyyre guna a olgrf
4731 """
4732 b = bcgvbaf.Bcgvbaf('ohc fnir', bcgfcrp)
4733 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
4734
4735 tvg.purpx_ercb_be_qvr()
4736 vs abg (bcg.gerr be bcg.pbzzvg be bcg.anzr):
4737     b.sngny("hfr bar be zber bs -g, -p, -a")
4738 vs abg rkgen:
4739     b.sngny("ab svyranzrf tvira")
4740
4741 bcg.cebterff = (vfggl naq abg bcg.dhvrg)
4742 bcg.fznyyre = cnefr_ahz(bcg.fznyyre be 0)
4743
4744 vf_erirefr = bf.raiveba.trg('OHC_FREIRE_ERIREFR')
4745 vs vf_erirefr naq bcg.erzbgr:
4746     b.sngny("qba'g hfr -e va erirefr zbqr; vg'f nhgbzngvp")
4747
4748 ersanzr = bcg.anzr naq 'ersf/urnqf/%f' % bcg.anzr be Abar
4749 vs bcg.erzbgr be vf_erirefr:
4750     pyv = pyvrag.Pyvrag(bcg.erzbgr)
4751     byqers = ersanzr naq pyv.ernq_ers(ersanzr) be Abar
4752     j = pyv.arj_cnpxjevgre()
4753 ryfr:
4754     pyv = Abar
4755     byqers = ersanzr naq tvg.ernq_ers(ersanzr) be Abar
4756     j = tvg.CnpxJevgre()
4757
4758 unaqyr_pgey_p()
4759
4760
4761 qrs rngfynfu(qve):
4762     vs qve.raqfjvgu('/'):
4763         erghea qve[:-1]
4764     ryfr:
4765         erghea qve
4766
4767
4768 cnegf = ['']
4769 funyvfgf = [[]]
4770
4771 qrs _chfu(cneg):
4772     nffreg(cneg)
4773     cnegf.nccraq(cneg)
4774     funyvfgf.nccraq([])
4775
4776 qrs _cbc(sbepr_gerr):
4777     nffreg(yra(cnegf) >= 1)
4778     cneg = cnegf.cbc()
4779     funyvfg = funyvfgf.cbc()
4780     gerr = sbepr_gerr be j.arj_gerr(funyvfg)
4781     vs funyvfgf:
4782         funyvfgf[-1].nccraq(('40000', cneg, gerr))
4783     ryfr:  # guvf jnf gur gbcyriry, fb chg vg onpx sbe fnavgl
4784         funyvfgf.nccraq(funyvfg)
4785     erghea gerr
4786
4787 ynfgerznva = Abar
4788 qrs cebterff_ercbeg(a):
4789     tybony pbhag, fhopbhag, ynfgerznva
4790     fhopbhag += a
4791     pp = pbhag + fhopbhag
4792     cpg = gbgny naq (pp*100.0/gbgny) be 0
4793     abj = gvzr.gvzr()
4794     ryncfrq = abj - gfgneg
4795     xcf = ryncfrq naq vag(pp/1024./ryncfrq)
4796     xcf_senp = 10 ** vag(zngu.ybt(xcf+1, 10) - 1)
4797     xcf = vag(xcf/xcf_senp)*xcf_senp
4798     vs pp:
4799         erznva = ryncfrq*1.0/pp * (gbgny-pp)
4800     ryfr:
4801         erznva = 0.0
4802     vs (ynfgerznva naq (erznva > ynfgerznva)
4803           naq ((erznva - ynfgerznva)/ynfgerznva < 0.05)):
4804         erznva = ynfgerznva
4805     ryfr:
4806         ynfgerznva = erznva
4807     ubhef = vag(erznva/60/60)
4808     zvaf = vag(erznva/60 - ubhef*60)
4809     frpf = vag(erznva - ubhef*60*60 - zvaf*60)
4810     vs ryncfrq < 30:
4811         erznvafge = ''
4812         xcffge = ''
4813     ryfr:
4814         xcffge = '%qx/f' % xcf
4815         vs ubhef:
4816             erznvafge = '%qu%qz' % (ubhef, zvaf)
4817         ryvs zvaf:
4818             erznvafge = '%qz%q' % (zvaf, frpf)
4819         ryfr:
4820             erznvafge = '%qf' % frpf
4821     cebterff('Fnivat: %.2s%% (%q/%qx, %q/%q svyrf) %f %f\e'
4822              % (cpg, pp/1024, gbgny/1024, spbhag, sgbgny,
4823                 erznvafge, xcffge))
4824
4825
4826 e = vaqrk.Ernqre(tvg.ercb('ohcvaqrk'))
4827
4828 qrs nyernql_fnirq(rag):
4829     erghea rag.vf_inyvq() naq j.rkvfgf(rag.fun) naq rag.fun
4830
4831 qrs jnagerphefr_cer(rag):
4832     erghea abg nyernql_fnirq(rag)
4833
4834 qrs jnagerphefr_qhevat(rag):
4835     erghea abg nyernql_fnirq(rag) be rag.fun_zvffvat()
4836
4837 gbgny = sgbgny = 0
4838 vs bcg.cebterff:
4839     sbe (genafanzr,rag) va e.svygre(rkgen, jnagerphefr=jnagerphefr_cer):
4840         vs abg (sgbgny % 10024):
4841             cebterff('Ernqvat vaqrk: %q\e' % sgbgny)
4842         rkvfgf = rag.rkvfgf()
4843         unfuinyvq = nyernql_fnirq(rag)
4844         rag.frg_fun_zvffvat(abg unfuinyvq)
4845         vs abg bcg.fznyyre be rag.fvmr < bcg.fznyyre:
4846             vs rkvfgf naq abg unfuinyvq:
4847                 gbgny += rag.fvmr
4848         sgbgny += 1
4849     cebterff('Ernqvat vaqrk: %q, qbar.\a' % sgbgny)
4850     unfufcyvg.cebterff_pnyyonpx = cebterff_ercbeg
4851
4852 gfgneg = gvzr.gvzr()
4853 pbhag = fhopbhag = spbhag = 0
4854 ynfgfxvc_anzr = Abar
4855 ynfgqve = ''
4856 sbe (genafanzr,rag) va e.svygre(rkgen, jnagerphefr=jnagerphefr_qhevat):
4857     (qve, svyr) = bf.cngu.fcyvg(rag.anzr)
4858     rkvfgf = (rag.syntf & vaqrk.VK_RKVFGF)
4859     unfuinyvq = nyernql_fnirq(rag)
4860     jnfzvffvat = rag.fun_zvffvat()
4861     byqfvmr = rag.fvmr
4862     vs bcg.ireobfr:
4863         vs abg rkvfgf:
4864             fgnghf = 'Q'
4865         ryvs abg unfuinyvq:
4866             vs rag.fun == vaqrk.RZCGL_FUN:
4867                 fgnghf = 'N'
4868             ryfr:
4869                 fgnghf = 'Z'
4870         ryfr:
4871             fgnghf = ' '
4872         vs bcg.ireobfr >= 2:
4873             ybt('%f %-70f\a' % (fgnghf, rag.anzr))
4874         ryvs abg fgng.F_VFQVE(rag.zbqr) naq ynfgqve != qve:
4875             vs abg ynfgqve.fgnegfjvgu(qve):
4876                 ybt('%f %-70f\a' % (fgnghf, bf.cngu.wbva(qve, '')))
4877             ynfgqve = qve
4878
4879     vs bcg.cebterff:
4880         cebterff_ercbeg(0)
4881     spbhag += 1
4882     
4883     vs abg rkvfgf:
4884         pbagvahr
4885     vs bcg.fznyyre naq rag.fvmr >= bcg.fznyyre:
4886         vs rkvfgf naq abg unfuinyvq:
4887             nqq_reebe('fxvccvat ynetr svyr "%f"' % rag.anzr)
4888             ynfgfxvc_anzr = rag.anzr
4889         pbagvahr
4890
4891     nffreg(qve.fgnegfjvgu('/'))
4892     qvec = qve.fcyvg('/')
4893     juvyr cnegf > qvec:
4894         _cbc(sbepr_gerr = Abar)
4895     vs qve != '/':
4896         sbe cneg va qvec[yra(cnegf):]:
4897             _chfu(cneg)
4898
4899     vs abg svyr:
4900         # ab svyranzr cbegvba zrnaf guvf vf n fhoqve.  Ohg
4901         # fho/cneragqverpgbevrf nyernql unaqyrq va gur cbc/chfu() cneg nobir.
4902         byqgerr = nyernql_fnirq(rag) # znl or Abar
4903         arjgerr = _cbc(sbepr_gerr = byqgerr)
4904         vs abg byqgerr:
4905             vs ynfgfxvc_anzr naq ynfgfxvc_anzr.fgnegfjvgu(rag.anzr):
4906                 rag.vainyvqngr()
4907             ryfr:
4908                 rag.inyvqngr(040000, arjgerr)
4909             rag.ercnpx()
4910         vs rkvfgf naq jnfzvffvat:
4911             pbhag += byqfvmr
4912         pbagvahr
4913
4914     # vg'f abg n qverpgbel
4915     vq = Abar
4916     vs unfuinyvq:
4917         zbqr = '%b' % rag.tvgzbqr
4918         vq = rag.fun
4919         funyvfgf[-1].nccraq((zbqr, 
4920                              tvg.znatyr_anzr(svyr, rag.zbqr, rag.tvgzbqr),
4921                              vq))
4922     ryfr:
4923         vs fgng.F_VFERT(rag.zbqr):
4924             gel:
4925                 s = unfufcyvg.bcra_abngvzr(rag.anzr)
4926             rkprcg VBReebe, r:
4927                 nqq_reebe(r)
4928                 ynfgfxvc_anzr = rag.anzr
4929             rkprcg BFReebe, r:
4930                 nqq_reebe(r)
4931                 ynfgfxvc_anzr = rag.anzr
4932             ryfr:
4933                 (zbqr, vq) = unfufcyvg.fcyvg_gb_oybo_be_gerr(j, [s])
4934         ryfr:
4935             vs fgng.F_VFQVE(rag.zbqr):
4936                 nffreg(0)  # unaqyrq nobir
4937             ryvs fgng.F_VFYAX(rag.zbqr):
4938                 gel:
4939                     ey = bf.ernqyvax(rag.anzr)
4940                 rkprcg BFReebe, r:
4941                     nqq_reebe(r)
4942                     ynfgfxvc_anzr = rag.anzr
4943                 rkprcg VBReebe, r:
4944                     nqq_reebe(r)
4945                     ynfgfxvc_anzr = rag.anzr
4946                 ryfr:
4947                     (zbqr, vq) = ('120000', j.arj_oybo(ey))
4948             ryfr:
4949                 nqq_reebe(Rkprcgvba('fxvccvat fcrpvny svyr "%f"' % rag.anzr))
4950                 ynfgfxvc_anzr = rag.anzr
4951         vs vq:
4952             rag.inyvqngr(vag(zbqr, 8), vq)
4953             rag.ercnpx()
4954             funyvfgf[-1].nccraq((zbqr,
4955                                  tvg.znatyr_anzr(svyr, rag.zbqr, rag.tvgzbqr),
4956                                  vq))
4957     vs rkvfgf naq jnfzvffvat:
4958         pbhag += byqfvmr
4959         fhopbhag = 0
4960
4961
4962 vs bcg.cebterff:
4963     cpg = gbgny naq pbhag*100.0/gbgny be 100
4964     cebterff('Fnivat: %.2s%% (%q/%qx, %q/%q svyrf), qbar.    \a'
4965              % (cpg, pbhag/1024, gbgny/1024, spbhag, sgbgny))
4966
4967 juvyr yra(cnegf) > 1:
4968     _cbc(sbepr_gerr = Abar)
4969 nffreg(yra(funyvfgf) == 1)
4970 gerr = j.arj_gerr(funyvfgf[-1])
4971 vs bcg.gerr:
4972     cevag gerr.rapbqr('urk')
4973 vs bcg.pbzzvg be bcg.anzr:
4974     zft = 'ohc fnir\a\aTrarengrq ol pbzznaq:\a%e' % flf.neti
4975     ers = bcg.anzr naq ('ersf/urnqf/%f' % bcg.anzr) be Abar
4976     pbzzvg = j.arj_pbzzvg(byqers, gerr, zft)
4977     vs bcg.pbzzvg:
4978         cevag pbzzvg.rapbqr('urk')
4979
4980 j.pybfr()  # zhfg pybfr orsber jr pna hcqngr gur ers
4981         
4982 vs bcg.anzr:
4983     vs pyv:
4984         pyv.hcqngr_ers(ersanzr, pbzzvg, byqers)
4985     ryfr:
4986         tvg.hcqngr_ers(ersanzr, pbzzvg, byqers)
4987
4988 vs pyv:
4989     pyv.pybfr()
4990
4991 vs fnirq_reebef:
4992     ybt('JNEAVAT: %q reebef rapbhagrerq juvyr fnivat.\a' % yra(fnirq_reebef))
4993     flf.rkvg(1)
4994 #!/hfe/ova/rai clguba
4995 vzcbeg flf, gvzr
4996 sebz ohc vzcbeg bcgvbaf
4997
4998 bcgfcrp = """
4999 ohc gvpx
5000 """
5001 b = bcgvbaf.Bcgvbaf('ohc gvpx', bcgfcrp)
5002 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
5003
5004 vs rkgen:
5005     b.sngny("ab nethzragf rkcrpgrq")
5006
5007 g = gvzr.gvzr()
5008 gyrsg = 1 - (g - vag(g))
5009 gvzr.fyrrc(gyrsg)
5010 #!/hfe/ova/rai clguba
5011 vzcbeg bf, flf, fgng, gvzr
5012 sebz ohc vzcbeg bcgvbaf, tvg, vaqrk, qerphefr
5013 sebz ohc.urycref vzcbeg *
5014
5015
5016 qrs zretr_vaqrkrf(bhg, e1, e2):
5017     sbe r va vaqrk.ZretrVgre([e1, e2]):
5018         # SVKZR: fubhyqa'g jr erzbir qryrgrq ragevrf riraghnyyl?  Jura?
5019         bhg.nqq_vkragel(r)
5020
5021
5022 pynff VgreUrycre:
5023     qrs __vavg__(frys, y):
5024         frys.v = vgre(y)
5025         frys.phe = Abar
5026         frys.arkg()
5027
5028     qrs arkg(frys):
5029         gel:
5030             frys.phe = frys.v.arkg()
5031         rkprcg FgbcVgrengvba:
5032             frys.phe = Abar
5033         erghea frys.phe
5034
5035
5036 qrs purpx_vaqrk(ernqre):
5037     gel:
5038         ybt('purpx: purpxvat sbejneq vgrengvba...\a')
5039         r = Abar
5040         q = {}
5041         sbe r va ernqre.sbejneq_vgre():
5042             vs r.puvyqera_a:
5043                 vs bcg.ireobfr:
5044                     ybt('%08k+%-4q %e\a' % (r.puvyqera_bsf, r.puvyqera_a,
5045                                             r.anzr))
5046                 nffreg(r.puvyqera_bsf)
5047                 nffreg(r.anzr.raqfjvgu('/'))
5048                 nffreg(abg q.trg(r.puvyqera_bsf))
5049                 q[r.puvyqera_bsf] = 1
5050             vs r.syntf & vaqrk.VK_UNFUINYVQ:
5051                 nffreg(r.fun != vaqrk.RZCGL_FUN)
5052                 nffreg(r.tvgzbqr)
5053         nffreg(abg r be r.anzr == '/')  # ynfg ragel vf *nyjnlf* /
5054         ybt('purpx: purpxvat abezny vgrengvba...\a')
5055         ynfg = Abar
5056         sbe r va ernqre:
5057             vs ynfg:
5058                 nffreg(ynfg > r.anzr)
5059             ynfg = r.anzr
5060     rkprcg:
5061         ybt('vaqrk reebe! ng %e\a' % r)
5062         envfr
5063     ybt('purpx: cnffrq.\a')
5064
5065
5066 qrs hcqngr_vaqrk(gbc):
5067     ev = vaqrk.Ernqre(vaqrksvyr)
5068     jv = vaqrk.Jevgre(vaqrksvyr)
5069     evt = VgreUrycre(ev.vgre(anzr=gbc))
5070     gfgneg = vag(gvzr.gvzr())
5071
5072     unfutra = Abar
5073     vs bcg.snxr_inyvq:
5074         qrs unfutra(anzr):
5075             erghea (0100644, vaqrk.SNXR_FUN)
5076
5077     gbgny = 0
5078     sbe (cngu,cfg) va qerphefr.erphefvir_qveyvfg([gbc], kqri=bcg.kqri):
5079         vs bcg.ireobfr>=2 be (bcg.ireobfr==1 naq fgng.F_VFQVE(cfg.fg_zbqr)):
5080             flf.fgqbhg.jevgr('%f\a' % cngu)
5081             flf.fgqbhg.syhfu()
5082             cebterff('Vaqrkvat: %q\e' % gbgny)
5083         ryvs abg (gbgny % 128):
5084             cebterff('Vaqrkvat: %q\e' % gbgny)
5085         gbgny += 1
5086         juvyr evt.phe naq evt.phe.anzr > cngu:  # qryrgrq cnguf
5087             vs evt.phe.rkvfgf():
5088                 evt.phe.frg_qryrgrq()
5089                 evt.phe.ercnpx()
5090             evt.arkg()
5091         vs evt.phe naq evt.phe.anzr == cngu:    # cnguf gung nyernql rkvfgrq
5092             vs cfg:
5093                 evt.phe.sebz_fgng(cfg, gfgneg)
5094             vs abg (evt.phe.syntf & vaqrk.VK_UNFUINYVQ):
5095                 vs unfutra:
5096                     (evt.phe.tvgzbqr, evt.phe.fun) = unfutra(cngu)
5097                     evt.phe.syntf |= vaqrk.VK_UNFUINYVQ
5098             vs bcg.snxr_vainyvq:
5099                 evt.phe.vainyvqngr()
5100             evt.phe.ercnpx()
5101             evt.arkg()
5102         ryfr:  # arj cnguf
5103             jv.nqq(cngu, cfg, unfutra = unfutra)
5104     cebterff('Vaqrkvat: %q, qbar.\a' % gbgny)
5105     
5106     vs ev.rkvfgf():
5107         ev.fnir()
5108         jv.syhfu()
5109         vs jv.pbhag:
5110             je = jv.arj_ernqre()
5111             vs bcg.purpx:
5112                 ybt('purpx: orsber zretvat: byqsvyr\a')
5113                 purpx_vaqrk(ev)
5114                 ybt('purpx: orsber zretvat: arjsvyr\a')
5115                 purpx_vaqrk(je)
5116             zv = vaqrk.Jevgre(vaqrksvyr)
5117             zretr_vaqrkrf(zv, ev, je)
5118             ev.pybfr()
5119             zv.pybfr()
5120             je.pybfr()
5121         jv.nobeg()
5122     ryfr:
5123         jv.pybfr()
5124
5125
5126 bcgfcrp = """
5127 ohc vaqrk <-c|z|h> [bcgvbaf...] <svyranzrf...>
5128 --
5129 c,cevag    cevag gur vaqrk ragevrf sbe gur tvira anzrf (nyfb jbexf jvgu -h)
5130 z,zbqvsvrq cevag bayl nqqrq/qryrgrq/zbqvsvrq svyrf (vzcyvrf -c)
5131 f,fgnghf   cevag rnpu svyranzr jvgu n fgnghf pune (N/Z/Q) (vzcyvrf -c)
5132 U,unfu     cevag gur unfu sbe rnpu bowrpg arkg gb vgf anzr (vzcyvrf -c)
5133 y,ybat     cevag zber vasbezngvba nobhg rnpu svyr
5134 h,hcqngr   (erphefviryl) hcqngr gur vaqrk ragevrf sbe gur tvira svyranzrf
5135 k,kqri,bar-svyr-flfgrz  qba'g pebff svyrflfgrz obhaqnevrf
5136 snxr-inyvq znex nyy vaqrk ragevrf nf hc-gb-qngr rira vs gurl nera'g
5137 snxr-vainyvq znex nyy vaqrk ragevrf nf vainyvq
5138 purpx      pnershyyl purpx vaqrk svyr vagrtevgl
5139 s,vaqrksvyr=  gur anzr bs gur vaqrk svyr (qrsnhyg 'vaqrk')
5140 i,ireobfr  vapernfr ybt bhgchg (pna or hfrq zber guna bapr)
5141 """
5142 b = bcgvbaf.Bcgvbaf('ohc vaqrk', bcgfcrp)
5143 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
5144
5145 vs abg (bcg.zbqvsvrq be bcg['cevag'] be bcg.fgnghf be bcg.hcqngr be bcg.purpx):
5146     b.sngny('fhccyl bar be zber bs -c, -f, -z, -h, be --purpx')
5147 vs (bcg.snxr_inyvq be bcg.snxr_vainyvq) naq abg bcg.hcqngr:
5148     b.sngny('--snxr-{va,}inyvq ner zrnavatyrff jvgubhg -h')
5149 vs bcg.snxr_inyvq naq bcg.snxr_vainyvq:
5150     b.sngny('--snxr-inyvq vf vapbzcngvoyr jvgu --snxr-vainyvq')
5151
5152 tvg.purpx_ercb_be_qvr()
5153 vaqrksvyr = bcg.vaqrksvyr be tvg.ercb('ohcvaqrk')
5154
5155 unaqyr_pgey_p()
5156
5157 vs bcg.purpx:
5158     ybt('purpx: fgnegvat vavgvny purpx.\a')
5159     purpx_vaqrk(vaqrk.Ernqre(vaqrksvyr))
5160
5161 cnguf = vaqrk.erqhpr_cnguf(rkgen)
5162
5163 vs bcg.hcqngr:
5164     vs abg cnguf:
5165         b.sngny('hcqngr (-h) erdhrfgrq ohg ab cnguf tvira')
5166     sbe (ec,cngu) va cnguf:
5167         hcqngr_vaqrk(ec)
5168
5169 vs bcg['cevag'] be bcg.fgnghf be bcg.zbqvsvrq:
5170     sbe (anzr, rag) va vaqrk.Ernqre(vaqrksvyr).svygre(rkgen be ['']):
5171         vs (bcg.zbqvsvrq 
5172             naq (rag.vf_inyvq() be rag.vf_qryrgrq() be abg rag.zbqr)):
5173             pbagvahr
5174         yvar = ''
5175         vs bcg.fgnghf:
5176             vs rag.vf_qryrgrq():
5177                 yvar += 'Q '
5178             ryvs abg rag.vf_inyvq():
5179                 vs rag.fun == vaqrk.RZCGL_FUN:
5180                     yvar += 'N '
5181                 ryfr:
5182                     yvar += 'Z '
5183             ryfr:
5184                 yvar += '  '
5185         vs bcg.unfu:
5186             yvar += rag.fun.rapbqr('urk') + ' '
5187         vs bcg.ybat:
5188             yvar += "%7f %7f " % (bpg(rag.zbqr), bpg(rag.tvgzbqr))
5189         cevag yvar + (anzr be './')
5190
5191 vs bcg.purpx naq (bcg['cevag'] be bcg.fgnghf be bcg.zbqvsvrq be bcg.hcqngr):
5192     ybt('purpx: fgnegvat svany purpx.\a')
5193     purpx_vaqrk(vaqrk.Ernqre(vaqrksvyr))
5194
5195 vs fnirq_reebef:
5196     ybt('JNEAVAT: %q reebef rapbhagrerq.\a' % yra(fnirq_reebef))
5197     flf.rkvg(1)
5198 #!/hfe/ova/rai clguba
5199 vzcbeg flf, bf, fgehpg
5200 sebz ohc vzcbeg bcgvbaf, urycref
5201
5202 bcgfcrp = """
5203 ohc eonpxhc-freire
5204 --
5205     Guvf pbzznaq vf abg vagraqrq gb or eha znahnyyl.
5206 """
5207 b = bcgvbaf.Bcgvbaf('ohc eonpxhc-freire', bcgfcrp)
5208 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
5209 vs rkgen:
5210     b.sngny('ab nethzragf rkcrpgrq')
5211
5212 # trg gur fhopbzznaq'f neti.
5213 # Abeznyyl jr pbhyq whfg cnff guvf ba gur pbzznaq yvar, ohg fvapr jr'yy bsgra
5214 # or trggvat pnyyrq ba gur bgure raq bs na ffu cvcr, juvpu graqf gb znatyr
5215 # neti (ol fraqvat vg ivn gur furyy), guvf jnl vf zhpu fnsre.
5216 ohs = flf.fgqva.ernq(4)
5217 fm = fgehpg.hacnpx('!V', ohs)[0]
5218 nffreg(fm > 0)
5219 nffreg(fm < 1000000)
5220 ohs = flf.fgqva.ernq(fm)
5221 nffreg(yra(ohs) == fm)
5222 neti = ohs.fcyvg('\0')
5223
5224 # fgqva/fgqbhg ner fhccbfrqyl pbaarpgrq gb 'ohc freire' gung gur pnyyre
5225 # fgnegrq sbe hf (bsgra ba gur bgure raq bs na ffu ghaary), fb jr qba'g jnag
5226 # gb zvfhfr gurz.  Zbir gurz bhg bs gur jnl, gura ercynpr fgqbhg jvgu
5227 # n cbvagre gb fgqree va pnfr bhe fhopbzznaq jnagf gb qb fbzrguvat jvgu vg.
5228 #
5229 # Vg zvtug or avpr gb qb gur fnzr jvgu fgqva, ohg zl rkcrevzragf fubjrq gung
5230 # ffu frrzf gb znxr vgf puvyq'f fgqree n ernqnoyr-ohg-arire-ernqf-nalguvat
5231 # fbpxrg.  Gurl ernyyl fubhyq unir hfrq fuhgqbja(FUHG_JE) ba gur bgure raq
5232 # bs vg, ohg cebonoyl qvqa'g.  Naljnl, vg'f gbb zrffl, fb yrg'f whfg znxr fher
5233 # nalbar ernqvat sebz fgqva vf qvfnccbvagrq.
5234 #
5235 # (Lbh pna'g whfg yrnir fgqva/fgqbhg "abg bcra" ol pybfvat gur svyr
5236 # qrfpevcgbef.  Gura gur arkg svyr gung bcraf vf nhgbzngvpnyyl nffvtarq 0 be 1,
5237 # naq crbcyr *gelvat* gb ernq/jevgr fgqva/fgqbhg trg fperjrq.)
5238 bf.qhc2(0, 3)
5239 bf.qhc2(1, 4)
5240 bf.qhc2(2, 1)
5241 sq = bf.bcra('/qri/ahyy', bf.B_EQBAYL)
5242 bf.qhc2(sq, 0)
5243 bf.pybfr(sq)
5244
5245 bf.raiveba['OHC_FREIRE_ERIREFR'] = urycref.ubfganzr()
5246 bf.rkrpic(neti[0], neti)
5247 flf.rkvg(99)
5248 #!/hfe/ova/rai clguba
5249 vzcbeg flf, bf, tybo, fhocebprff, gvzr
5250 sebz ohc vzcbeg bcgvbaf, tvg
5251 sebz ohc.urycref vzcbeg *
5252
5253 cne2_bx = 0
5254 ahyys = bcra('/qri/ahyy')
5255
5256 qrs qroht(f):
5257     vs bcg.ireobfr:
5258         ybt(f)
5259
5260 qrs eha(neti):
5261     # ng yrnfg va clguba 2.5, hfvat "fgqbhg=2" be "fgqbhg=flf.fgqree" orybj
5262     # qbrfa'g npghnyyl jbex, orpnhfr fhocebprff pybfrf sq #2 evtug orsber
5263     # rkrpvat sbe fbzr ernfba.  Fb jr jbex nebhaq vg ol qhcyvpngvat gur sq
5264     # svefg.
5265     sq = bf.qhc(2)  # pbcl fgqree
5266     gel:
5267         c = fhocebprff.Cbcra(neti, fgqbhg=sq, pybfr_sqf=Snyfr)
5268         erghea c.jnvg()
5269     svanyyl:
5270         bf.pybfr(sq)
5271
5272 qrs cne2_frghc():
5273     tybony cne2_bx
5274     ei = 1
5275     gel:
5276         c = fhocebprff.Cbcra(['cne2', '--uryc'],
5277                              fgqbhg=ahyys, fgqree=ahyys, fgqva=ahyys)
5278         ei = c.jnvg()
5279     rkprcg BFReebe:
5280         ybt('sfpx: jneavat: cne2 abg sbhaq; qvfnoyvat erpbirel srngherf.\a')
5281     ryfr:
5282         cne2_bx = 1
5283
5284 qrs cnei(yiy):
5285     vs bcg.ireobfr >= yiy:
5286         vs vfggl:
5287             erghea []
5288         ryfr:
5289             erghea ['-d']
5290     ryfr:
5291         erghea ['-dd']
5292
5293 qrs cne2_trarengr(onfr):
5294     erghea eha(['cne2', 'perngr', '-a1', '-p200'] + cnei(2)
5295                + ['--', onfr, onfr+'.cnpx', onfr+'.vqk'])
5296
5297 qrs cne2_irevsl(onfr):
5298     erghea eha(['cne2', 'irevsl'] + cnei(3) + ['--', onfr])
5299
5300 qrs cne2_ercnve(onfr):
5301     erghea eha(['cne2', 'ercnve'] + cnei(2) + ['--', onfr])
5302
5303 qrs dhvpx_irevsl(onfr):
5304     s = bcra(onfr + '.cnpx', 'eo')
5305     s.frrx(-20, 2)
5306     jnagfhz = s.ernq(20)
5307     nffreg(yra(jnagfhz) == 20)
5308     s.frrx(0)
5309     fhz = Fun1()
5310     sbe o va puhaxlernqre(s, bf.sfgng(s.svyrab()).fg_fvmr - 20):
5311         fhz.hcqngr(o)
5312     vs fhz.qvtrfg() != jnagfhz:
5313         envfr InyhrReebe('rkcrpgrq %e, tbg %e' % (jnagfhz.rapbqr('urk'),
5314                                                   fhz.urkqvtrfg()))
5315         
5316
5317 qrs tvg_irevsl(onfr):
5318     vs bcg.dhvpx:
5319         gel:
5320             dhvpx_irevsl(onfr)
5321         rkprcg Rkprcgvba, r:
5322             qroht('reebe: %f\a' % r)
5323             erghea 1
5324         erghea 0
5325     ryfr:
5326         erghea eha(['tvg', 'irevsl-cnpx', '--', onfr])
5327     
5328     
5329 qrs qb_cnpx(onfr, ynfg):
5330     pbqr = 0
5331     vs cne2_bx naq cne2_rkvfgf naq (bcg.ercnve be abg bcg.trarengr):
5332         ierfhyg = cne2_irevsl(onfr)
5333         vs ierfhyg != 0:
5334             vs bcg.ercnve:
5335                 eerfhyg = cne2_ercnve(onfr)
5336                 vs eerfhyg != 0:
5337                     cevag '%f cne2 ercnve: snvyrq (%q)' % (ynfg, eerfhyg)
5338                     pbqr = eerfhyg
5339                 ryfr:
5340                     cevag '%f cne2 ercnve: fhpprrqrq (0)' % ynfg
5341                     pbqr = 100
5342             ryfr:
5343                 cevag '%f cne2 irevsl: snvyrq (%q)' % (ynfg, ierfhyg)
5344                 pbqr = ierfhyg
5345         ryfr:
5346             cevag '%f bx' % ynfg
5347     ryvs abg bcg.trarengr be (cne2_bx naq abg cne2_rkvfgf):
5348         terfhyg = tvg_irevsl(onfr)
5349         vs terfhyg != 0:
5350             cevag '%f tvg irevsl: snvyrq (%q)' % (ynfg, terfhyg)
5351             pbqr = terfhyg
5352         ryfr:
5353             vs cne2_bx naq bcg.trarengr:
5354                 cerfhyg = cne2_trarengr(onfr)
5355                 vs cerfhyg != 0:
5356                     cevag '%f cne2 perngr: snvyrq (%q)' % (ynfg, cerfhyg)
5357                     pbqr = cerfhyg
5358                 ryfr:
5359                     cevag '%f bx' % ynfg
5360             ryfr:
5361                 cevag '%f bx' % ynfg
5362     ryfr:
5363         nffreg(bcg.trarengr naq (abg cne2_bx be cne2_rkvfgf))
5364         qroht('    fxvccrq: cne2 svyr nyernql trarengrq.\a')
5365     erghea pbqr
5366
5367
5368 bcgfcrp = """
5369 ohc sfpx [bcgvbaf...] [svyranzrf...]
5370 --
5371 e,ercnve    nggrzcg gb ercnve reebef hfvat cne2 (qnatrebhf!)
5372 t,trarengr  trarengr nhgb-ercnve vasbezngvba hfvat cne2
5373 i,ireobfr   vapernfr ireobfvgl (pna or hfrq zber guna bapr)
5374 dhvpx       whfg purpx cnpx fun1fhz, qba'g hfr tvg irevsl-cnpx
5375 w,wbof=     eha 'a' wbof va cnenyyry
5376 cne2-bx     vzzrqvngryl erghea 0 vs cne2 vf bx, 1 vs abg
5377 qvfnoyr-cne2  vtaber cne2 rira vs vg vf ninvynoyr
5378 """
5379 b = bcgvbaf.Bcgvbaf('ohc sfpx', bcgfcrp)
5380 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
5381
5382 cne2_frghc()
5383 vs bcg.cne2_bx:
5384     vs cne2_bx:
5385         flf.rkvg(0)  # 'gehr' va fu
5386     ryfr:
5387         flf.rkvg(1)
5388 vs bcg.qvfnoyr_cne2:
5389     cne2_bx = 0
5390
5391 tvg.purpx_ercb_be_qvr()
5392
5393 vs abg rkgen:
5394     qroht('sfpx: Ab svyranzrf tvira: purpxvat nyy cnpxf.\a')
5395     rkgen = tybo.tybo(tvg.ercb('bowrpgf/cnpx/*.cnpx'))
5396
5397 pbqr = 0
5398 pbhag = 0
5399 bhgfgnaqvat = {}
5400 sbe anzr va rkgen:
5401     vs anzr.raqfjvgu('.cnpx'):
5402         onfr = anzr[:-5]
5403     ryvs anzr.raqfjvgu('.vqk'):
5404         onfr = anzr[:-4]
5405     ryvs anzr.raqfjvgu('.cne2'):
5406         onfr = anzr[:-5]
5407     ryvs bf.cngu.rkvfgf(anzr + '.cnpx'):
5408         onfr = anzr
5409     ryfr:
5410         envfr Rkprcgvba('%f vf abg n cnpx svyr!' % anzr)
5411     (qve,ynfg) = bf.cngu.fcyvg(onfr)
5412     cne2_rkvfgf = bf.cngu.rkvfgf(onfr + '.cne2')
5413     vs cne2_rkvfgf naq bf.fgng(onfr + '.cne2').fg_fvmr == 0:
5414         cne2_rkvfgf = 0
5415     flf.fgqbhg.syhfu()
5416     qroht('sfpx: purpxvat %f (%f)\a' 
5417           % (ynfg, cne2_bx naq cne2_rkvfgf naq 'cne2' be 'tvg'))
5418     vs abg bcg.ireobfr:
5419         cebterff('sfpx (%q/%q)\e' % (pbhag, yra(rkgen)))
5420     
5421     vs abg bcg.wbof:
5422         ap = qb_cnpx(onfr, ynfg)
5423         pbqr = pbqr be ap
5424         pbhag += 1
5425     ryfr:
5426         juvyr yra(bhgfgnaqvat) >= bcg.wbof:
5427             (cvq,ap) = bf.jnvg()
5428             ap >>= 8
5429             vs cvq va bhgfgnaqvat:
5430                 qry bhgfgnaqvat[cvq]
5431                 pbqr = pbqr be ap
5432                 pbhag += 1
5433         cvq = bf.sbex()
5434         vs cvq:  # cnerag
5435             bhgfgnaqvat[cvq] = 1
5436         ryfr: # puvyq
5437             gel:
5438                 flf.rkvg(qb_cnpx(onfr, ynfg))
5439             rkprcg Rkprcgvba, r:
5440                 ybt('rkprcgvba: %e\a' % r)
5441                 flf.rkvg(99)
5442                 
5443 juvyr yra(bhgfgnaqvat):
5444     (cvq,ap) = bf.jnvg()
5445     ap >>= 8
5446     vs cvq va bhgfgnaqvat:
5447         qry bhgfgnaqvat[cvq]
5448         pbqr = pbqr be ap
5449         pbhag += 1
5450     vs abg bcg.ireobfr:
5451         cebterff('sfpx (%q/%q)\e' % (pbhag, yra(rkgen)))
5452
5453 vs abg bcg.ireobfr naq vfggl:
5454     ybt('sfpx qbar.           \a')
5455 flf.rkvg(pbqr)
5456 #!/hfe/ova/rai clguba
5457 vzcbeg flf, bf, fgehpg, trgbcg, fhocebprff, fvtany
5458 sebz ohc vzcbeg bcgvbaf, ffu
5459 sebz ohc.urycref vzcbeg *
5460
5461 bcgfcrp = """
5462 ohc eonpxhc <ubfganzr> vaqrk ...
5463 ohc eonpxhc <ubfganzr> fnir ...
5464 ohc eonpxhc <ubfganzr> fcyvg ...
5465 """
5466 b = bcgvbaf.Bcgvbaf('ohc eonpxhc', bcgfcrp, bcgshap=trgbcg.trgbcg)
5467 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
5468 vs yra(rkgen) < 2:
5469     b.sngny('nethzragf rkcrpgrq')
5470
5471 pynff FvtRkprcgvba(Rkprcgvba):
5472     qrs __vavg__(frys, fvtahz):
5473         frys.fvtahz = fvtahz
5474         Rkprcgvba.__vavg__(frys, 'fvtany %q erprvirq' % fvtahz)
5475 qrs unaqyre(fvtahz, senzr):
5476     envfr FvtRkprcgvba(fvtahz)
5477
5478 fvtany.fvtany(fvtany.FVTGREZ, unaqyre)
5479 fvtany.fvtany(fvtany.FVTVAG, unaqyre)
5480
5481 fc = Abar
5482 c = Abar
5483 erg = 99
5484
5485 gel:
5486     ubfganzr = rkgen[0]
5487     neti = rkgen[1:]
5488     c = ffu.pbaarpg(ubfganzr, 'eonpxhc-freire')
5489
5490     netif = '\0'.wbva(['ohc'] + neti)
5491     c.fgqva.jevgr(fgehpg.cnpx('!V', yra(netif)) + netif)
5492     c.fgqva.syhfu()
5493
5494     znva_rkr = bf.raiveba.trg('OHC_ZNVA_RKR') be flf.neti[0]
5495     fc = fhocebprff.Cbcra([znva_rkr, 'freire'], fgqva=c.fgqbhg, fgqbhg=c.fgqva)
5496
5497     c.fgqva.pybfr()
5498     c.fgqbhg.pybfr()
5499
5500 svanyyl:
5501     juvyr 1:
5502         # vs jr trg n fvtany juvyr jnvgvat, jr unir gb xrrc jnvgvat, whfg
5503         # va pnfr bhe puvyq qbrfa'g qvr.
5504         gel:
5505             erg = c.jnvg()
5506             fc.jnvg()
5507             oernx
5508         rkprcg FvtRkprcgvba, r:
5509             ybt('\aohc eonpxhc: %f\a' % r)
5510             bf.xvyy(c.cvq, r.fvtahz)
5511             erg = 84
5512 flf.rkvg(erg)
5513 #!/hfe/ova/rai clguba
5514 vzcbeg flf, bf, er
5515 sebz ohc vzcbeg bcgvbaf
5516
5517 bcgfcrp = """
5518 ohc arjyvare
5519 """
5520 b = bcgvbaf.Bcgvbaf('ohc arjyvare', bcgfcrp)
5521 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
5522
5523 vs rkgen:
5524     b.sngny("ab nethzragf rkcrpgrq")
5525
5526 e = er.pbzcvyr(e'([\e\a])')
5527 ynfgyra = 0
5528 nyy = ''
5529 juvyr 1:
5530     y = e.fcyvg(nyy, 1)
5531     vs yra(y) <= 1:
5532         gel:
5533             o = bf.ernq(flf.fgqva.svyrab(), 4096)
5534         rkprcg XrlobneqVagreehcg:
5535             oernx
5536         vs abg o:
5537             oernx
5538         nyy += o
5539     ryfr:
5540         nffreg(yra(y) == 3)
5541         (yvar, fcyvgpune, nyy) = y
5542         #fcyvgpune = '\a'
5543         flf.fgqbhg.jevgr('%-*f%f' % (ynfgyra, yvar, fcyvgpune))
5544         vs fcyvgpune == '\e':
5545             ynfgyra = yra(yvar)
5546         ryfr:
5547             ynfgyra = 0
5548         flf.fgqbhg.syhfu()
5549
5550 vs ynfgyra be nyy:
5551     flf.fgqbhg.jevgr('%-*f\a' % (ynfgyra, nyy))
5552 #!/hfe/ova/rai clguba
5553 vzcbeg flf
5554 sebz ohc vzcbeg bcgvbaf, tvg, _unfufcyvg
5555 sebz ohc.urycref vzcbeg *
5556
5557
5558 bcgfcrp = """
5559 ohc znetva
5560 """
5561 b = bcgvbaf.Bcgvbaf('ohc znetva', bcgfcrp)
5562 (bcg, syntf, rkgen) = b.cnefr(flf.neti[1:])
5563
5564 vs rkgen:
5565     b.sngny("ab nethzragf rkcrpgrq")
5566
5567 tvg.purpx_ercb_be_qvr()
5568 #tvg.vtaber_zvqk = 1
5569
5570 zv = tvg.CnpxVqkYvfg(tvg.ercb('bowrpgf/cnpx'))
5571 ynfg = '\0'*20
5572 ybatzngpu = 0
5573 sbe v va zv:
5574     vs v == ynfg:
5575         pbagvahr
5576     #nffreg(fge(v) >= ynfg)
5577     cz = _unfufcyvg.ovgzngpu(ynfg, v)
5578     ybatzngpu = znk(ybatzngpu, cz)
5579     ynfg = v
5580 cevag ybatzngpu