1؎м||18/tuuqހur 6uƀ8rtL|t-QSUAr Uut[fjftSjjB[YrUu 㾹 uInvalid partition tableError loading operating systemMissing operating system==C=$%=( Uvu4,294,967,296 oCg (4.0G)v) ́Aۂɂg̃n[h fBXN̏񂪕\܂B +---------------- n[hfBXNc[wwipe-outx ----------------+ | Cj[ | | ݑI𒆂̃fBXN /dev/ad0 łB | | fBXN̗eʂ 4,294,967,296 oCg (4.0G) łB | | ȉ̃j[珈IĂB | | | | +------------------------------------------------------------------+ | | | z 0㏑āÃfBXÑf[^ | | | | h @̊Tv\ | | | | n ㏑āÃfBXÑf[^Oɏ | | | | m Ȍ㏑@I | | | | v f[^ꂽmF (^ꕔ`FbN) | | | | V f[^ꂽmF (ʏ^S`FbN) | | | | w OfBXNɏ | | | | L L^tbs[ɏo | | | +-----v(+)---------------------------------------------------------+ | | | +----------------------------------------------------------------------+ | [ OK ] Cancel | +----------------------------------------------------------------------+ ŁAn[hfBXN̖OeʂAf[^n[h fBXN̂̂ł邩ǂmFĂB̃n[hfBX Ñf[^ꍇ́Au0㏑āÃfBXÑf[ ^vnCCgĂԂŃG^[L[Ă (ȉȂuIvƏ̂܂)B ̃j[Łu0㏑āÃfBXÑf[^v IƁÂ悤ɊmFbZ[W\܂B fBXN ad0 Sf[^ 4,294,967,296 oCgA 0ŏ㏑ď܂B 낵ł? [ Yes ] No f[^ꍇ́AŁuYesvIĂBuYesv IƁAɂ‚Aȉ̊mFbZ[W\܂B {ad0 (4.0G) ̃f[^Ăł? [ Yes ] No f[^ꍇ́AēxuYesvIĂBuNov Iƍŏ̃j[ɖ߂܂BuYesvIƃf[^ ̏n܂܂B f[^̏́Â悤ɐi󋵂\܂B fBXN ad1 ̃f[^Ă܂B 25% (1024/4096) I ^ 21b o c 悻128b 0%|############______________________________________|100% ʂ̍ʼnsɂ́Â悤ɏݑx\܂B 33554432 bytes transferred in 1.307584 secs (25661396 bytes/sec) f[^̏ɗv鎞Ԃ́Ag̃n[hfBXN̗eʂp\ RɂĈقȂ܂Bn[hfBXN̗eʂAp\R x΁Aɗv鎞Ԃ͒ZȂ܂B f[^̏IƁA fBXÑf[^I܂ (230b) [OK] ƂbZ[W\܂BŁAG^[L[ƁA ̃j[ɖ߂܂B @ɂ‚ Cj[u@̊Tv\vIƁA Pȑ@̐\܂B ȊȎɂ‚ Cj[ŏ㉺J[\L[ƁAʂ̍ڂnCCg 邱Ƃł܂BCj[ɂ8‚̑I\ ܂񂪁A㉺J[\L[ƃXN[ɂAe푀상 j[\܂Bun[hfBXNc[wwipe-outxv ́Af[^ȊOɂAĂ邩ǂ̊mFAL^ ݁An[hfBXÑRs[AVF̋NAċNAVbg _EȂǂ̑상j[pӂĂ܂BȉɃCj[ Ił鑀̈ꗗ܂B E0㏑āÃfBXÑf[^ E@̊Tv\ E㏑āÃfBXÑf[^Oɏ EȌ㏑@I Ef[^ꂽmFi^ꕔ`FbNj Ef[^ꂽmFiʏ^S`FbNj EOfBXNɏ EL^tbs[ɏo Eʂ̃fBXNI EfBXÑf[^\ Ef[^\ZN^̎w Euwwipe-outxɂ‚āv EÑVXebZ[WmF EfBXNRs[i^obNAbvj EfBXNRs[iᑬ^f[^Tx[Wj E1㏑āÃfBXÑf[^ E_p^[㏑āÃfBXÑf[^ Ep^[̕␔㏑āÃfBXÑf[^ E_f[^㏑āÃfBXÑf[^ EL^\ EfBXN̎Ȑff (SMART) \ EVFishjN EVFicshjN ECD-ROMmount ECD-ROMumount EMBR *̂* EVbg_E EċN Ή@ɂ‚ E{c[́AFreeBSD/i386삷Rs[^ŗpł܂B E{c[Ńf[^łXg[WfoCX͎̂ƂłB EFreeBSD̃J[l (CXg[pCD̃J[l) ň ̂̂Aȉ̏𖞂 EATAfBXNRg[hCo (ada(4)) ň EʓIS-ATA/P-ATAC^[tFCX̃n[hfBXN EASSDhCu ESCSI_CNgANZXfoCXhCo (da(4)) ň EʓISCSIC^[tFCX̃n[hfBXN EFreeBSDňRAIDRg[ (asr(4)) Ȃǂɐڑ ꂽn[hfBXN EUSBJ[hA_v^ɐڑe탁J[hA USBtbVȂǂUSBeʃXg[W ada(4), da(4), asr(4) Ȃǂ̏ڍׂɂ‚ẮAFreeBSD̃}jA y[WȂǂB ̋L^̕ۑɂ‚ un[hfBXNc[wwipe-outxvł́A̋L^ۑ 邱Ƃł܂Bۑ”\ȃfBA̓tbs[fBXNUSB ȂǂłB̋L^ۑ郁fBA (tbs[USB ) ́A炩FATtH[}bgsAuWIPE-OUTvƂ ÕtH_[gfBNgɍ쐬ĂĂB Ƃ E{c[́AOSƂFreeBSD𗘗pĂ܂B E{c[̓t[EFAłB쌠́A҂ł ܁ ۗLĂ܂B E{c[𗘗pA邢͗pȂƂɂĐ Ȃ錋ʂɂ‚ĂA҂͐ӔCؕ܂B Ql EВc@l dqZpYƋ (http://www.jeita.or.jp/japanese/index.htm) up\R̔pEnɂn[hfBXÑf[^ Ɋւ闯ӎv(http://it.jeita.or.jp/perinfo/committee/ pc/JEITA_HDDdata100219F.pdf) {c[̓@ {c[юoíA҂̃EFuTCgŌJĂ܂BA hX http://hp.vector.co.jp/authors/VA004814/ łBKvɉ ă_E[hĂB n[hfBXNc[uwipe-outvv1.6 Copyright (C) 2016 by Dai ISHIJIMA WIPE-OUT-16T_000 (2017-01-02) . cD"J"JD"J .. cD"J"JD"JArcNRC jD"J"JD"J EAstartup.shSTARTUP SH jD"J"JD"J Amainmenu.shMAINMENUSH jD"J"JD"J $%Aseldisk.shSELDISK SH jD"J"JD"JAeraseU.shERASE SH kD"J"JD"JvAfine-erase.shFINE-E~1SH kD"J"JD"Jh#Asel-fine.shSEL-FINESH kD"J"JD"JmAverify.shVERIFY SH kD"J"JD"JAdump.shDUMP SH kD"J"JD"JAwritelog.shWRITELOGSH kD"J"JD"J Acopy.shCOPY SH kD"J"JD"JAembr.nshEMBR SH kD"J"JD"J# Acrlf.rshCRLF SH kD"J"JD"JAfloppAylog.shFLOPPY~1SH kD"J"JD"J/Adummyread.shDUMMYR~1SH lD"J"JD"J Akon2start.shKON2ST~1SH lD"J"JD"J! Akon2alt.shKON2ALT SH lD"J"JD"J"^Avtsta,rt.shVTSTART SH lD"J"JD"J#. Asanitize.shSANITIZESH lD"J"JD"J$ Aalt-menu.shALT-MENUSH lD"J"JD"J& Ascsaver.shSCSAVER SH lD"J"JD"J'<Ainfo.txtINFO TXT lD"J"JD"J(_Areadmse.txtREADME TXT lD"J"JD"J)# Ahelp.txtHELP TXT lD"J"JD"J,@ AtermcapTERMCAP mD"J"JD"J-Adiskseize.cDISKSIZEC mD"J"JD"J/+Astuff.cSTUFF C mD"J"JD"J1 Atinyd#ate.cTINYDATEC mD"J"JD"J2!AtinydUump.cTINYDUMPC mD"J"JD"J3Acheck.cCHECK C mD"J"JD"J44 Amakembr.cMAKEMBR C mD"J"JD"J5[Awpoutp-mbr.sWPOUT-~1S mD"J"JD"J6A Ashell-on.cSHELL-ONC mD"J"JD"J7VAtread.cTREAD C nD"J"JD"J8 #! /bin/sh # # rc -- X^[gAbvXNvg # # 0.0: Jun. 15, 2004 by Dai ISHIJIMA # 0.1: Aug. 1, 2006 (CDĂkonœ{ꉻ for wpout07) # 0.2: Feb. 10, 2007 (OL^ for wpout08) # 0.3: Feb. 17, 2007 (VAR\[Ή) # 0.4: Sep. 12, 2007 (for wpout09J) # 0.5: Sep. 17, 2007 (shutdown̉ʕA) # 0.6: Oct. 2, 2007 (expr(1)POSIXΉ) # 0.7: Jan. 3, 2008 (N菇C) # 0.8: Feb. 10, 2008 (NɃbZ[W) # 0.9: Feb. 11, 2008 (CD̊mF@C) # 1.0: Jul. 24, 2009 (VAR\[Ή, wpout10) # 1.1: May 5, 2013 (wpout13, 8.3R, "mount -rw /dev/md0a /") # 1.2: May 3, 2014 (wpout14, 8.3R, sio->uart) # 1.3: Jul. 26, 2016 (wpout16, 10.3R, vt -> sc) # # t@CVXe݉”\ /sbin/mount -rw /dev/md0a / # VFA[hCũpXݒ /sbin/ldconfig -elf /lib /usr.lib PATH=/usr.bin:/usr/bin:/bin:/usr.sbin:/usr/sbin:/sbin:/usr/local/bin:/wipeout:. export PATH # 2016-12-04 export HOME=/root #export DEBUG=y cd /tmp # # ŏ̃O # LOGFIL=/tmp/wpoutlog.txt export LOGFIL echo -n 'booting wipe-out, at epoch ' > $LOGFIL tinydate >> $LOGFIL echo -n 'version: ' >> $LOGFIL cat /version.txt >> $LOGFIL # NƂbZ[W\ cat $LOGFIL # # expr(1) POSIXΉɂ錅ӂΏ (4.x݊[h) # export EXPR_COMPAT= # # CD-ROMȂǂ̏ # echo -n 'checking boot device..' # CD-ROM݂邩? (PXEu[gA[JCDu[g?) CDROM=NONE echo 'checking CD-ROM device' >> $LOGFIL # ܂AATAPI CD-ROM}EgĂ݂ echo -n 'mounting CD-ROM (acd0) ..' mount_cd9660 /dev/acd0 /cdrom 1>/dev/null 2>&1 echo '.' CDROM=/dev/acd0 if [ ! -f /cdrom/version.txt ]; then # SCSI CD-ROM}EgĂ݂ echo -n 'mounting CD-ROM (cd0) ..' mount_cd9660 /dev/cd0 /cdrom 1>/dev/null 2>&1 echo '.' CDROM=/dev/cd0 if [ ! -f /cdrom/version.txt ]; then # CD-ROM}EgłȂ CDROM=NONE fi fi case x"$CDROM" in x/dev/*) echo "CD-ROM device: $CDROM" >> $LOGFIL echo "re-initializing shared library path" >> $LOGFIL echo -n "re-initializing shared library path.." if [ -r /cdrom/lib/libc.so ]; then ldconfig -elf /lib /usr.lib /usr/lib fi echo '.' ;; *) echo "no CD-ROM device, may be PXE boot mode" >> $LOGFIL echo "no CD-ROM device, may be PXE boot mode" ;; esac if [ -x /bin/hostname ]; then hostname wipeout fi if [ -x /usr.sbin/powerd ]; then echo -n 'Starting powerd... ' powerd > $LOGFIL 2>&1 case x"$?" in x0) echo done. ;; *) echo failed. ;; esac fi # xCD-ROMA}Eg case x"$CDROM" in x/dev/*) echo "unmounting CD-ROM ($CDROM)" >> $LOGFIL echo -n "umounting CD-ROM ($CDROM).." umount /cdrom echo '.' ;; esac export CDROM # debugging case x"$DEBUG" in x[Yy]*) for i in 1 2 3 ; do echo -n '.' sleep 1 done echo '' ;; esac cd /wipeout echo -n "wipe-out initialized successfully on " >> $LOGFIL date >> $LOGFIL # rm -f /var/run/nologin # need terminal settings? (9.3R) export TERM=vt100 # VAR\[̃`FbN #comconsole=`dmesg | /usr.bin/sed -n '/^sio0:.*, console/p'` comconsole=`dmesg | /usr.bin/sed -n '/^uart.*console/p'` case x"$comconsole" in xuart*console*) export TTY=comconsole export CONSOLE=comconsole sh /wipeout/startup.sh ;; *) export TTY=ttyv0 export CONSOLE=vidconsole # R\[{ꉻāAX^[gAbvXNvgN #sh /wipeout/vtstart.sh sh /wipeout/kon2start.sh ;; esac # Vbg_E邩? if [ -f /var/run/nologin ]; then nologin=`sed -n 1p /var/run/nologin` case x"$nologin" in xh*) shutdown -p now ;; xr*) shutdown -r now ;; esac fi # ΘbVFN /bin/sh -i if [ -x /sbin/shutdown ]; then /sbin/shutdown -h now fi exit 0 # EOF #! /bin/sh # # startup.sh -- X^[gAbvXNvg ({ꉻR\[p) # # 0.0: Jun. 15, 2004 by Dai ISHIJIMA # 0.1: Jun. 19, 2005 (for PXEBOOT) # 0.2: Aug. 1, 2006 (v07ACDrcցA_p^[Ƃ̕␔) # 0.3: Aug. 6, 2006 (L[{[h`FbN) # 0.4: Sep. 18, 2006 (/var mkdir Ȃ) # 0.5: Feb. 10, 2007 (OL^ for wpout08) # 0.6: Sep. 12, 2007 (for wpout09J) # 0.7: Sep. 17, 2007 (shutdown̉ʕA) # 0.8: Jan. 3, 2008 (NWbN̉) # 0.8: Jul. 24, 2009 (dmesg.boot̏d`FbN, wpout10) # 0.9: Dec. 7, 2013 (fBXÑfoCX) # 1.0: Aug. 4, 2015 (ad -> ada, FreeBSD 9.3R) # 1.1: Jul. 26, 2016 (10.3R, vt -> sc/kon2) # PATH=/usr.bin:/usr/bin:/bin:/usr.sbin:/usr/sbin: PATH="${PATH}"':'"/sbin:/usr/local/bin:/wipeout:." export PATH ##PATH=/usr/bin:/bin:/usr/sbin:/sbin:/:. ##export PATH LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" DMESG="${DMESG:-/var/run/dmesg.boot}" export DMESG echo -n 'ÑVXebZ[WۑĂ܂...' dmesg > $DMESG echo '' # umd0vsɌsԍ𒲂ׂBΏd lin1=`sed -n '/^md0/=' $DMESG | sed -n '1p'` lin2=`sed -n '/^md0/=' $DMESG | sed -n '$p'` if [ $lin1 -ne $lin2 ]; then echo 'VXebZ[WdĂ܂B' echo 'xd؂ĂċN邱Ƃ𐄏܂B' echo '𑱍sꍇ́uexitv͂ĂB' /bin/sh -i fi echo '# ---------------------------- #' >> $LOGFIL echo -n "script startup.sh started on " >> $LOGFIL date >> $LOGFIL ####export TERMCAP=/etc/termcap export TERM=kons25jx export PATTERNFIL=/tmp/pattern.dat # 2013-12-07 names of disk device node # !ata(4) -> ad (P-ATA: ad0, S-ATA: ad4, etc.) # ada(4) -> ada (SATA/PATA, FreeBSD 9.3R) # SCSI (da(4)) -> da (SCSI, CAM) # ataraid(4) -> ar # aac(4) -> aacd # amr(4) -> amrd(?) or da(?) (SCSI CAM) # arcmsr(4) -> da (SCSI CAM) # asr(4) -> da(?) (SCSI CAM) # graid3(4) -> da (SCSI CAM) # hptiop(4) -> da(?) # hptmv(4) -> da(?) # hptrr(4) -> da(?) # ida(4) -> idad(?), da(?) # iir(4) -> da(?) # ips(4) -> ipsd(?), da(?) # mfi(4) -> mfid # mlx(4) -> mlxd(?), da(?) # mly(4) -> da(?) # twa(4) -> da(?) # twe(4) -> da(?) export DEVICES='da|ada|ar|aacd|amrd|idad|ipsd|mfid|mlxd|twed' # x32MoCg BLKLEN=$(( 32 * 1024 * 1024 )) export BLKLEN # o̓ubN1MoCg OBS=$(( 1024 * 1024 )) export OBS # ̓ubN (stuff̏o͒) 1koCg IBS=1024 export IBS # mF10MoCg VBLKLEN=$(( 10 * 1024 * 1024 )) export VBLKLEN # mF̓̓ubN1MoCg VBS=$(( 1024 * 1024 )) export VBS # Rs[512oCg CBS=512 export CBS echo '' # debugging case x"$DEBUG" in x[Yy]*) for i in 1 2 3 ; do echo -n '.' sleep 1 done echo '' ;; esac cd /wipeout stuff -g > $PATTERNFIL echo "random pattern file $PATTERNFIL generated" >> $LOGFIL if ! /bin/sh mainmenu.sh ; then exit 1 fi # Ƃ肠ΘbVF𓮂Ă :-) /bin/sh -i exit 0 # EOF #! /bin/sh # # mainmenu.sh -- CD-ROMŃCj[ # # 0.0: Jun. 20, 2004 by Dai ISHIJIMA (for wpout03) # 0.1: Jul. 11 2004 (for wpout04) # 0.2: Jun. 23 2005 (for wpout05) # 0.3: Jul. 8 2005 (for wpout06) # 0.4: Aug. 5, 2006 (for wpout07) # 0.5: Dec. 21, 2006 (erase MBR) # 0.6: Feb. 10, 2007 (OL^ for wpout08) # 0.7: Feb. 15, 2007 (G^[L[΍) # 0.8: Feb. 18, 2007 (j[̏ԂύX) # 0.9: Sep. 12, 2007 (wpout09, FreeBSD 6.2R) # 1.0: Sep. 17, 2007 (shutdown̉ʕA) # 1.1: Oct. 6, 2007 (expr(1) POSIXΉ) # 1.2: Feb. 10, 2008 (wvbZ[W̕\A샍O̕\) # 1.3: Apr. 19, 2009 (fBXNRs[, wpout10) # 1.4: Sep. 30, 2009 (IBM ServeRAID, ips(4), /dev/ipsd%d) # 1.5: Dec. 22, 2012 (smartctl) # 1.6: Feb. 1, 2014 (擪ɖ߂) # 1.7: Aug. 4, 2015 (FreeBSD 9.3R, camcontrol sanitize) # 1.8: Nov. 8, 2015 (XN[Z[o[) # 1.9: Dec. 4, 2016 (ttyname) # # dmesg="${DMESG:-/var/run/dmesg.boot}" devices="${DEVICES:-da|ada|ar|aacd|amrd|idad|ipsd|mfid|mlxd|twed}" # export LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" export ERRORLOG="${ERRORLOG:-/tmp/wperrlog.txt}" export DISPUPD="${DISPUPD:-2}" export STATEFIL="${STATEFIL:-/tmp/status.txt}" # export DIALOG="--ascii-lines --no-collapse" cbs="${CBS:-512}" obs="${OBS:-1048576}" resultfil=/tmp/result nsec=/tmp/sector stuffs='10' ##sed -n -E "/^(${devices})[0-9][0-9]*:.* $resultfil sed -n -E "/^(${devices})[0-9][0-9]*:.*B [<(]/p" $dmesg | sed 's/^\([a-z][a-z]*[0-9][0-9]*\).*/\1/' > $resultfil disk=`sed -n '1p' $resultfil` ttyname=`tty | sed 's+/dev/++'` export TITLE="n[hfBXNc[wwipe-outx v1.6 ($ttyname)" dumpskip=0 echo '# ---------------------------- #' >> $LOGFIL echo -n "script mainmenu.sh started on " >> $LOGFIL date >> $LOGFIL echo '# ---------------------------- #' >> $ERRORLOG echo -n "script mainmenu.sh started on " >> $ERRORLOG date >> $ERRORLOG while true ; do dname=`sed -n -E "/^${disk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` bytes=`disksize -B /dev/$disk` cap=`disksize -p /dev/$disk` msg=" Cj[\n" msg="${msg}ݑI𒆂̃fBXN /dev/${disk} ${dname} łB\n" msg="${msg}fBXN̗eʂ $bytes oCg ($cap) łB\n" msg="${msg}ȉ̃j[珈IĂB\n" echo -n 'displaying main menu' > $STATEFIL sh dummyread.sh dialog 2>$resultfil \ --title "$TITLE" \ --menu "$msg" \ 20 74 8 \ z '0㏑āÃfBXÑf[^' \ h '@̊Tv\' \ n '㏑āÃfBXÑf[^Oɏ' \ m 'Ȍ㏑@I' \ v 'f[^ꂽmF (^ꕔ`FbN)' \ V 'f[^ꂽmF (ʏ^S`FbN)' \ w 'OfBXNɏ' \ L 'L^tbs[ɏo' \ s 'ʂ̃fBXNI' \ d 'fBXÑf[^\' \ S 'f[^\ZN^̎w' \ a 'uwwipe-outxɂ‚āv' \ C '\XN[Z[o[ɐ؂ւ' \ D 'ÑVXebZ[WmF' \ Y 'fBXNRs[i^obNAbvj' \ y 'fBXNRs[iᑬ^f[^Tx[Wj' \ f '1㏑āÃfBXÑf[^' \ p '_p^[㏑āÃfBXÑf[^' \ q 'p^[̕␔㏑āÃfBXÑf[^' \ r '_f[^㏑āÃfBXÑf[^' \ P 'L^\' \ T 'fBXN̎Ȑff (SMART) \' \ Z 'Tj^CY@\ (SCSI Sanitize command) Ńf[^' \ K 'ΏۃfBXN蓮Őݒ肷' \ b 'VF (sh) N' \ t 'VF (csh) N' \ M 'CD-ROMmount' \ U 'CD-ROMumount' \ B 'MBR *̂* ' \ x 'Vbg_E' \ R 'ċN' \ N 'j[̐擪ɖ߂' \ # end of menu case x"$?" in x1) break ;; esac result=`cat $resultfil` case x"${result}" in x[zfrpq]) echo -n 'starting erase' > $STATEFIL sh erase.sh -$result $disk ;; xh) echo -n 'displaying instruction' > $STATEFIL dialog --title '@̊Tv' \ --textbox help.txt 20 76 ;; xs) echo -n 'selecting disk' > $STATEFIL . seldisk.sh ;; xn) echo -n 'starting erase' > $STATEFIL sh fine-erase.sh $stuffs $disk ;; xm) echo -n 'selecting erase method' > $STATEFIL . sel-fine.sh ;; xv) echo -n 'starting verify' > $STATEFIL sh verify.sh 90 $disk ;; xV) echo -n 'starting verify' > $STATEFIL sh verify.sh 0 $disk ;; xw) echo -n 'writing log' > $STATEFIL sh writelog.sh $disk ;; xL) echo -n 'saving log' > $STATEFIL sh floppylog.sh ;; xd) echo -n 'dump sector' > $STATEFIL sh dump.sh $dumpskip $disk dumpskip=`expr $dumpskip + 1` ;; xS) echo -n 'selecting sector' > $STATEFIL msg="ZN^w肵Ă ($dumpskip)" dialog 2>$nsec \ --title "$TITLE" \ --inputbox "$msg" 8 64 case x"$?" in x0) echo '' >> $nsec echo "$dumpskip" >> $nsec dumpskip=`sed -n '/^[0-9]/p' $nsec | sed -n 1p` ;; esac ;; xa) echo -n 'displaying about' > $STATEFIL dialog --title 'wwipe-outxɂ‚' \ --textbox info.txt 20 76 ;; xC) echo -n 'displaying saver' > $STATEFIL msg='Alt+F8ƃXN[Z[o[ɐ؂ւ܂' dialog --title "$TITLE" \ --msgbox "$msg" 5 64 ;; xD) echo -n 'displaying system message' > $STATEFIL dialog --title 'ÑVXebZ[W' \ --textbox /var/run/dmesg.boot 20 76 ;; xy) echo -n 'starting copy' > $STATEFIL srcdisk=$disk . seldisk.sh dstdisk=$disk sh copy.sh $srcdisk $dstdisk $cbs disk=$srcdisk ;; xY) echo -n 'starting copy' > $STATEFIL srcdisk=$disk . seldisk.sh dstdisk=$disk sh copy.sh $srcdisk $dstdisk $obs disk=$srcdisk ;; xP) echo -n 'displaying history' > $STATEFIL echo "::: $LOGFIL :::" > /tmp/loglog.txt cat $LOGFIL >> /tmp/loglog.txt echo '' >> /tmp/loglog.txt for f in /tmp/erase-log.* ; do if [ -f "$f" ]; then echo "::: $f :::" >> /tmp/loglog.txt cat $f >> /tmp/loglog.txt echo '' >> /tmp/loglog.txt fi done for f in /tmp/verify-log.* ; do if [ -f "$f" ]; then echo "::: $f :::" >> /tmp/loglog.txt cat $f >> /tmp/loglog.txt echo '' >> /tmp/loglog.txt fi done echo '::: shell variables :::' >> /tmp/loglog.txt set >> /tmp/loglog.txt echo '' >> /tmp/loglog.txt dialog --title '샍O' \ --textbox /tmp/loglog.txt 20 76 ;; xT) echo -n 'displaying smart infomation' > $STATEFIL /usr/local/sbin/smartctl -s on /dev/$disk \ > /tmp/smart.txt 2>&1 /usr/local/sbin/smartctl -a /dev/$disk \ >> /tmp/smart.txt 2>&1 case x"$?" in x0) echo "SMART͐I܂" \ > /tmp/smartmsg.txt ;; *) echo "SMART͓삵܂ł" \ > /tmp/smartmsg.txt ;; esac echo '' >> $LOGFIL echo '::: SMART (smartctl output) :::' >> $LOGFIL cat /tmp/smart.txt >> $LOGFIL cat /tmp/smart.txt >> /tmp/smartmsg.txt dialog --title 'SMARTO' \ --textbox /tmp/smartmsg.txt 20 76 ;; xZ) echo -n 'starting sanitize' > $STATEFIL sh sanitize.sh $disk ;; xK) echo -n 'selecting disk (manual)' > $STATEFIL msg="fBXNw肵Ă ($disk)" dialog 2>/tmp/diskname \ --title "$TITLE" \ --inputbox "$msg" 8 64 case x"$?" in x0) echo '' >> /tmp/diskname echo "$disk" >> /tmp/diskname cat /tmp/diskname | sed -n '/^[a-z][a-z]*[0-9][0-9]*/p' | sed -n 1p > /tmp/diskname.new disk=`cat /tmp/diskname.new` ;; esac ;; xb) echo -n 'starting shell' > $STATEFIL /bin/sh -i ;; xt) echo -n 'starting shell' > $STATEFIL if [ -x /bin/csh ]; then /bin/csh -i else msg='csh̓CD-ROM}EgĂ' dialog --title "$TITLE" \ --msgbox "$msg" 5 64 fi ;; xM) echo -n 'mounting CD-ROM' > $STATEFIL if [ -x /cdrom/usr.bin/dialog ]; then msg='CD-ROM͂łɃ}EgĂ܂' elif mount_cd9660 $CDROM /cdrom > /dev/null 2>&1; then msg='CD-ROM}Eg܂' else msg='CD-ROM}Egł܂ł' fi dialog --title "$TITLE" \ --msgbox "$msg" 5 64 ;; xU) echo -n 'unmounting CD-ROM' > $STATEFIL msg='' if [ ! -x /cdrom/usr.bin/dialog ]; then msg='CD-ROM͂łɃA}EgĂ܂' fi if umount /cdrom > /dev/null 2>&1; then msg='CD-ROMA}Eg܂' elif [ -z "$msg" ]; then msg='CD-ROMA}Egł܂ł' fi dialog --title "$TITLE" \ --msgbox "$msg" 5 64 ;; xB) echo -n 'erasing MBR' > $STATEFIL sh embr.sh $disk ;; xx) echo -n 'starting shutdown' > $STATEFIL echo "halt" > /var/run/nologin exit 1 ;; xR) echo -n 'starting reboot' > $STATEFIL echo "reboot" > /var/run/nologin exit 1 ;; #xN) # NOP # ;; esac done dialog --title "$TITLE" \ --infobox 'I܂' 3 48 echo 'u/bin/sh /wipeout/mainmenu.shvŃj[ʂĂяo܂B' echo '' exit 0 # EOF #! /bin/sh # # seldisk.sh - fBXN̑I # # _CAO{bNX\ăfBXNIA邢͓͂B # foCXt@CԂB # # 0.0: May 30, 2004 by Dai ISHIJIMA # 0.1: Jun. 29, 2006 (support some more disk types) # 0.2: Sep. 12, 2007 (wpout09) # dmesg="${DMESG:-/var/run/dmesg.boot}" devices="${DEVICES:-da|ad|ar|aacd|amrd|ipsd}" resultfil=/tmp/result title="${TITLE:-n[hfBXNc[wwipe-outx}" #sed -n -E "/^(${devices})[0-9]:.* $resultfil sed -n -E "/^(${devices})[0-9]:.*B [(<]/p" $dmesg | sed 's/^\([a-z][a-z]*[0-9]\).*/\1/' > $resultfil disks=`cat $resultfil` n=0 taglist='' for d in $disks ; do dname=`sed -n -E "/^${d}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` bytes=`disksize -B /dev/$d` cap=`disksize -p /dev/$d` taglist="$taglist $d '$dname (${bytes}oCg, $cap)'" done #######taglist="$taglist XX 'LȊO͂'" eval dialog \ --title "'$title'" \ --menu "'fBXNIĂ'" \ 12 72 5 \ $taglist \ 2>$resultfil case "$?" in 0) newdisk=`cat $resultfil` if [ x"$disk" != x"$newdisk" ]; then msg="fBXN ${disk} " msg="${msg} ${newdisk} ɕύX܂B" dialog --title "$title" \ --infobox "$msg" 5 72 sleep 2 fi disk="$newdisk" ;; 1) dialog --title "$title" \ --infobox 'fBXN̑ILZ܂' 3 64 sleep 2 ;; esac # EOF #! /bin/sh # # erase.sh -- f[^㏑ăfBXÑf[^ # # g: /bin/sh erase.sh - fBXN # : [zfr] # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh erase.sh -z ad0 # # 0.0: Jun. 20, 2004 by Dai ISHIJIMA (for wpout03) # 0.1: Jul. 11, 2004 # 0.2: Jun. 28, 2006 (_p^[ƕ␔ for wpout07) # 0.3: Aug. 1, 2006 (^CX^v) # 0.4: Aug. 12, 2006 (^CX^vɗe) # 0.5: Feb. 10, 2007 (OL^ for wpout08) # 0.6: Feb. 15, 2007 (G^[L[΍AG[Ɠ]x̃O) # 0.7: Sep. 12, 2007 (wpout09) # 0.8: Oct. 6, 2007 (vZ32rbgt͈̔͂ōs) # 0.9: Dec. 23, 2007 (o[Ot\̌vZC) # 1.0: Jan. 2, 2008 (OC) # 1.1: Mar. 22, 2014 (ʂ̂‚炷 (XV炷)) # ERRORLOG="${ERRORLOG:-/tmp/wperrlog.txt}" exec 2>> $ERRORLOG echo "# start $0, $@" 1>&2 echo '# ---------------------------- #' 1>&2 # PƂł悤 LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" DMESG="${DMESG:-/var/run/dmesg.boot}" STATEFIL="${STATEFIL:-/tmp/status.txt}" PATTERNFIL="${PATTERNFIL:-/tmp/pattern.dat}" dispupd="${DISPUPD:-2}" echo '# ---------------------------- #' >> $LOGFIL echo -n "script $0 started on " >> $LOGFIL date >> $LOGFIL echo -n 'starting erase' > $STATEFIL if [ ! -s $PATTERNFIL ]; then stuff -g > $PATTERNFIL echo "random pattern file $PATTERNFIL generated" >> $LOGFIL fi # stuff="${1:--z}" disk="${2:-ad0}" dmesg="${DMESG:-/var/run/dmesg.boot}" # x32MoCg blklen="${BLKLEN:-33554432}" # o̓ubNTCY1MoCg obs="${OBS:-1048576}" ocnt=$(( $blklen / $obs )) ounit=$(( $obs / 1048576 )) # ̓ubNTCY1koCg ibs="${IBS:-1024}" icnt=$(( $blklen / $ibs )) # resultfil=/tmp/result # title="${TITLE:-n[hfBXNc[wwipe-outx}" # if [ ! -w /dev/$disk ]; then dialog --title "$title" \ --msgbox "fBXN $disk ݂ȂA݂ł܂" \ 5 64 exit 1 fi # mount -p | sed -n -E "/^.dev.$disk/p" > $resultfil if [ -s $resultfil ]; then dialog --title "$title" \ --msgbox "}Eg̃fBXN $disk 邱Ƃ͂ł܂" \ 5 64 exit 1 fi dname=`sed -n -E "/^${disk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` bytes=`disksize -B /dev/$disk` cap=`disksize -p /dev/$disk` msg="fBXN ${disk} ${dname} \n" msg="${msg}Sf[^ ${bytes}oCgA\n" case x"$stuff" in x-[0z]) msg="${msg}0ŏ㏑ď܂B\n" method='write 0' ;; x-[1f]) msg="${msg}1ŏ㏑ď܂B\n" method='write 1' ;; x-[Rr]) msg="${msg}_f[^ŏ㏑ď܂B\n" method='write random' ;; x-[Pp]) stuff -g > $PATTERNFIL echo "random pattern file $PATTERNFIL generated" >> $LOGFIL msg="${msg}_p^[ŏ㏑ď܂B\n" method='write pattern' ;; x-[Qq]) msg="${msg}Op^[̕␔ŏ㏑ď܂B\n" method='write inverted pattern' ;; *) msg="${msg}܂B\n" method='overwrite' ;; esac msg="${msg}\n 낵ł?" sh dummyread.sh dialog --title "$title" --yesno "$msg" 9 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXN̏LZ܂' 3 64 sleep 2 exit 1 ;; esac msg="{${disk} ($cap) ̃f[^Ăł?" sh dummyread.sh dialog --title "$title" \ --hline "$dname" \ --yesno "$msg" \ 5 72 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXN̏LZ܂' 3 64 sleep 2 exit 1 ;; esac # ̃p[^ (MoCgPʂŐ) mbytes=`disksize -m /dev/$disk` max=$(( $mbytes / $ounit )) startsec=`tinydate '+%s'` rems='' # Jn startstamp=`date '+%Y-%m-%d %H:%M'` # echo "v ---------------------------- v" >> $LOGFIL echo -n "erase started on " >> $LOGFIL date >> $LOGFIL echo " $disk ($dname) $bytes bytes with $method" >> $LOGFIL nerrs=0 skip=0 xcent=100 xmill=1000 mcent=$max mmill=$max if [ $max -gt 1048576 ]; then xcent=1 xmill=1 mcent=$(( ( $max + 99 ) / 100 )) mmill=$(( ( $max + 999 ) / 1000 )) fi lastdisp=0 dispintv=0 while [ $skip -le $max ]; do # v cursec=`tinydate '+%s'` # o[Ot p=$(( ( $xcent * $skip ) / $mcent )) m=$(( ( $xmill * $skip ) / $mmill )) q=$(( $p / 2 )) i=0 bar='' while [ $i -lt $q ]; do bar="$bar"'#' i=$(( $i + 1 )) done while [ $i -lt 50 ]; do bar="$bar"'_' i=$(( $i + 1 )) done # c莞 elapsed=$(( $cursec - $startsec )) if [ $elapsed -gt 10 ]; then if [ $m -gt 0 ]; then remain=$(( ( 1000 - $m ) * $elapsed / $m + 1 )) if [ $remain -gt 120 ]; then rems=$(( ( $remain + 59 ) / 60 )) rems="c 悻${rems}" else rems="c 悻${remain}b" fi fi fi if [ $elapsed -gt 120 ]; then elas=$(( ( $elapsed + 30 ) / 60 )) elas="${elas}" else elas="${elapsed}b" fi # echo -n "erasing $disk, $p % done" > $STATEFIL text="fBXN ${disk} ̃f[^Ă܂B\n" text="${text} ${p}% ($skip/$max) I ^ " text="${text}${elas} o ${rems} \n\n" text="${text} 0%|${bar}|100%" text="${text}\n${errormsg}" dispintv=$(( $cursec - $lastdisp )) if [ $dispintv -ge $dispupd ]; then dialog --title "$title" --infobox "$text" 7 72 lastdisp=$cursec else echo -e '\r\c' fi case "x$progchar" in xO) progchar='.' ;; xo) progchar='O' ;; *) progchar='o' ;; esac echo -n "$progchar $status2 " case x$DEBUG in x[Yy]*) status2='now in debug mode...' errormsg='' sleep 1 ;; *) status=`stuff $stuff < $PATTERNFIL | dd ibs=$ibs obs=$obs seek=$skip count=$icnt of=/dev/$disk 2>&1` status2=`echo "$status" | sed -n '/transfer/p'` errormsg=`echo "$status" | sed -n -E '/records (in|out)$/!p' | sed -n '/transferred in/!p'` ;; esac # L^ case x"$skip" in x0) echo "skip: $skip, $status2" >> $LOGFIL ;; esac case x"${nerrs}"x"${errormsg}" in x[0-8]x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; x9x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL echo "Too many errors encounterd..." >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; esac # [v skip=$(( $skip + $ocnt )) done sleep 2 # echo "skip: $skip, $status2" >> $LOGFIL echo "number of error messages: $nerrs" >> $LOGFIL echo -n "erase finished on " >> $LOGFIL date >> $LOGFIL echo " $disk ($dname, $cap) with $method" >> $LOGFIL echo "^ ---------------------------- ^" >> $LOGFIL cursec=`tinydate '+%s'` elapsed=$(( $cursec - $startsec )) if [ $elapsed -gt 120 ]; then min=$(( $elapsed / 60 )) sec=$(( $elapsed - $min * 60 )) elas="${min}${sec}b" else elas="${elapsed}b" fi # I endstamp=`date '+%H:%M'` # Oۑ echo 'The contents of this storage device' > /tmp/erase-log.$disk echo "$disk ($cap) '$dname'" >> /tmp/erase-log.$disk echo -n 'were erased with ' >> /tmp/erase-log.$disk echo 'hard disk wiping tool "wipe-out."' >> /tmp/erase-log.$disk echo "Erased with '$method'" >> /tmp/erase-log.$disk echo " $startstamp -> $endstamp" >> /tmp/erase-log.$disk echo "but NOT verified" > /tmp/verify-log.$disk echo -n "$disk erased ($elapsed [s])" > $STATEFIL sh dummyread.sh dialog --title "$title" \ --msgbox "fBXÑf[^I܂ (${elas})" 5 72 # echo '# ---------------------------- #' 1>&2 exit 0 # EOF #! /bin/sh # # fine-erase.sh -- 񏑂݂ŔOɃfBXÑf[^ # # g: /bin/sh fine-erase.sh fBXN # : [0z1fRr]+ # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh fine-erase.sh 0101010 ad0 # # 0.0: Jun. 27, 2004 by Dai ISHIJIMA # 0.1: Jul. 11, 2004 # 0.2: Jun. 28, 2006 # 0.3: Aug. 1, 2006 (^CX^v for wpout07) # 0.4: Feb. 10, 2007 (OL^ for wpout08) # 0.5: Feb. 15, 2007 (G^[L[΍) # 0.6: Sep. 12, 2007 (wpout09) # 0.7: Oct. 6, 2007 (vZ32rbgt͈̔͂ōs) # 0.8: Dec. 23, 2007 (o[Ot\̌vZC) # 0.9: Jan. 2, 2008 (OC) # 1.0: Mar. 22, 2014 (ʂ̂‚炷 (XV炷)) # 1.1: Aug. 4, 2015 (expr *, FreeBSd 9.3R) # ERRORLOG="${ERRORLOG:-/tmp/wperrlog.txt}" exec 2>> $ERRORLOG echo "# start $0, $@" 1>&2 echo '# ---------------------------- #' 1>&2 # PƂł悤 LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" DMESG="${DMESG:-/var/run/dmesg.boot}" PATTERNFIL="${PATTERNFIL:-/tmp/pattern.dat}" STATEFIL="${STATEFIL:-/tmp/status.txt}" dispupd="${DISPUPD:-2}" echo '# ---------------------------- #' >> $LOGFIL echo -n "script $0 started on " >> $LOGFIL date >> $LOGFIL echo -n 'starting erase' > $STATEFIL if [ ! -s $PATTERNFIL ]; then stuff -g > $PATTERNFIL echo "random pattern file $PATTERNFIL generated" >> $LOGFIL fi stuffs="${1:-fz}" disk="${2:-ad0}" dmesg="${DMESG:-/var/run/dmesg.boot}" # x32MoCg blklen="${BLKLEN:-33554432}" # o̓ubNTCY1MoCg obs="${OBS:-1048576}" ocnt=$(( $blklen / $obs )) ounit=$(( $obs / 1048576 )) # ̓ubNTCY1koCg ibs="${IBS:-1024}" icnt=$(( $blklen / $ibs )) # resultfil=/tmp/result # title="${TITLE:-n[hfBXNc[wwipe-outx}" # if [ ! -w /dev/$disk ]; then dialog --title "$title" \ --msgbox "fBXN $disk ݂ȂA݂ł܂" \ 5 64 exit 1 fi # mount -p | sed -n -E "/^.dev.$disk/p" > $resultfil if [ -s $resultfil ]; then dialog --title "$title" \ --msgbox "}Eg̃fBXN $disk 邱Ƃ͂ł܂" \ 5 64 exit 1 fi dname=`sed -n -E "/^${disk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` bytes=`disksize -B /dev/$disk` cap=`disksize -p /dev/$disk` msg="fBXN ${disk} ${dname} \n" msg="${msg}Sf[^ ${bytes}oCgA\n" nstuff=0 for stuff in `echo $stuffs | sed 's/\(.\)/\1 /g'` ; do case x"$stuff" in x[0z]) msg="${msg}0A" ;; x[1f]) msg="${msg}1A" ;; x[Rr]) msg="${msg}RA" ;; x[Pp]) msg="${msg}PA" ;; x[Qq]) msg="${msg}QA" ;; esac nstuff=$(( $nstuff + 1 )) done msg="${msg}̏\n${nstuff}㏑ď܂\n" msg="${msg}\n 낵ł?" sh dummyread.sh dialog --title "$title" --yesno "$msg" 10 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXN̏LZ܂' 3 64 sleep 2 exit 1 ;; esac msg="{${disk} ($cap) ̃f[^Ăł?" sh dummyread.sh dialog --title "$title" \ --hline "$dname" \ --yesno "$msg" \ 5 72 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXN̏LZ܂' 3 64 sleep 2 exit 1 ;; esac # ̃p[^ (MoCgPʂŐ) mbytes=`disksize -m /dev/$disk` max=$(( $mbytes / $ounit )) stage=0 xstage=1 startsec=`tinydate '+%s'` totalrems='' # Jn startstamp=`date '+%Y-%m-%d %H:%M'` # echo "v ---------------------------- v" >> $LOGFIL echo -n "erase ($nstuff times) started on " >> $LOGFIL date >> $LOGFIL echo " $disk ($dname) $bytes bytes with $stuffs" >> $LOGFIL nerrs=0 xcent=100 xmill=1000 mcent=$max mmill=$max if [ $max -gt 1048576 ]; then xcent=1 xmill=1 mcent=$(( ( $max + 99 ) / 100 )) mmill=$(( ( $max + 999 ) / 1000 )) fi for stuff in `echo $stuffs | sed 's/\(.\)/\1 /g'` ; do skip=0 stagestart=`tinydate '+%s'` case "$stuff" in [0z]) method="'0'㏑" ;; [1f]) method="'1'㏑" ;; [Rr]) method="_f[^㏑" ;; [Pp]) stuff -g > $PATTERNFIL echo "random pattern file $PATTERNFIL generated" \ >> $LOGFIL method="_p^[㏑" ;; [Qq]) method="Op^[̕␔㏑" ;; esac rems='' status='' status2='' errormsg='' # echo -n "stage: $stage, with writing $stuff " >> $LOGFIL echo -n "started on " >> $LOGFIL date >> $LOGFIL # lastdisp=0 dispintv=0 while [ $skip -le $max ]; do # v cursec=`tinydate '+%s'` # o[Ot p=$(( ( $xcent * $skip ) / $mcent )) m=$(( ( $xmill * $skip ) / $mmill )) q=$(( $p / 2 )) i=0 bar='' while [ $i -lt $q ]; do bar="$bar"'#' i=$(( $i + 1 )) done while [ $i -lt 50 ]; do bar="$bar"'_' i=$(( $i + 1 )) done # c莞 elapsed=$(( $cursec - $stagestart )) if [ $elapsed -gt 10 ]; then if [ $m -gt 0 ]; then remain=$(( ( 1000 - $m ) * $elapsed / $m + 1 )) if [ $remain -gt 120 ]; then rems=$(( ( $remain + 59 ) / 60 )) rems="c 悻${rems}" else rems="c 悻${remain}b" fi fi fi if [ $elapsed -gt 120 ]; then elas=$(( ( $elapsed + 30 ) / 60 )) elas="${elas}" else elas="${elapsed}b" fi # S̃o[Ot pp=$(( ( $p + 100 * $stage ) / $nstuff )) mm=$(( ( $m + 1000 * $stage ) / $nstuff )) q=$(( $pp / 2 )) i=0 totalbar='' while [ $i -lt $q ]; do totalbar="$totalbar"'#' i=$(( $i + 1 )) done while [ $i -lt 50 ]; do totalbar="$totalbar"'_' i=$(( $i + 1 )) done ee=$(( $cursec - $startsec )) if [ $mm -gt 0 ]; then rr=$(( ( 1000 - $mm ) * $ee / $mm + 1 )) if [ $rr -gt 120 ]; then totalrems=$(( ( $rr + 59 ) / 60 )) totalrems="c 悻${totalrems}" else totalrems="c 悻${rr}b" fi fi if [ $ee -gt 120 ]; then totalelas=$(( ( $ee + 30 ) / 60 )) totalelas="${totalelas}" else totalelas="${ee}b" fi # echo -n "erasing $disk, $pp % done" > $STATEFIL text="fBXN ${disk} ̃f[^Ă܂B\n\n" text="${text}S ${nstuff} H ${xstage} Ԃ " text="${text} Ŝ ${pp}% I\n" text="${text}${totalelas} o ${totalrems} \n\n" text="${text} 0%|${totalbar}|100%\n\n" text="${text}̍Hł${method}Af[^Ă܂B\n" text="${text}${p}% ($skip/$max) I ^ " text="${text}${elas} o ${rems} \n\n" text="${text} 0%|${bar}|100%\n\n" text="${text}\n${errormsg}" dispintv=$(( $cursec - $lastdisp )) if [ $dispintv -ge $dispupd ]; then dialog --title "$title" --infobox "$text" 15 72 lastdisp=$cursec else echo -e '\r\c' fi case "x$progchar" in xO) progchar='.' ;; xo) progchar='O' ;; *) progchar='o' ;; esac echo -n "$progchar $status2 " case x$DEBUG in x[Yy]*) status2='now in debug mode...' errormsg='' sleep 1 ;; *) status=`stuff -$stuff < $PATTERNFIL | dd ibs=$ibs obs=$obs seek=$skip count=$icnt of=/dev/$disk 2>&1` status2=`echo "$status" | sed -n '/transfer/p'` errormsg=`echo "$status" | sed -n -E '/records (in|out)$/!p' | sed -n '/transferred in/!p'` ;; esac # L^ case x"$skip" in x0) echo "stage: $stage, skip: $skip, $status2" >> $LOGFIL ;; esac case x"${nerrs}"x"${errormsg}" in x[0-8]x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; x9x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL echo "Too many errors encounterd..." >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; esac # [v skip=$(( $skip + $ocnt )) done stage=$(( $stage + 1 )) xstage=$(( $xstage + 1 )) echo "stage: $stage, skip: $skip, $status2" >> $LOGFIL done sleep 2 # echo "number of errmessages: $nerrs" >> $LOGFIL echo -n "erase finished on " >> $LOGFIL date >> $LOGFIL echo " $disk ($dname, $cap) with overwriting $nstuff times" >> $LOGFIL echo "^ ---------------------------- ^" >> $LOGFIL cursec=`tinydate '+%s'` elapsed=$(( $cursec - $startsec )) if [ $elapsed -gt 120 ]; then min=$(( $elapsed / 60 )) sec=$(( $elapsed - $min * 60 )) elas="${min}${sec}b" else elas="${elapsed}b" fi # I endstamp=`date '+%H:%M'` # Oۑ echo 'The contents of this storage device' > /tmp/erase-log.$disk echo "$disk ($cap) '$dname'" >> /tmp/erase-log.$disk echo -n 'were erased with ' >> /tmp/erase-log.$disk echo 'hard disk wiping tool "wipe-out."' >> /tmp/erase-log.$disk echo "Erase $nstuff times ($stuffs)" >> /tmp/erase-log.$disk echo " $startstamp -> $endstamp" >> /tmp/erase-log.$disk echo "but NOT verified" > /tmp/verify-log.$disk echo -n "$disk erased ($elapsed [s])" > $STATEFIL sh dummyread.sh dialog --title "$title" \ --msgbox "fBXÑf[^I܂ (${elas})" 5 72 # echo '# ---------------------------- #' 1>&2 exit 0 # EOF #! /bin/sh # # sel-fine.sh - O@̑I # # 0.0: Jun. 26, 2004 by Dai ISHIJIMA # 0.1: Jul. 9, 2005 # 0.2: Jun. 28, 2006 (_p^[ƕ␔ for wpout07) # 0.3: Feb. 18, 2007 (15lj for wpout08) # resultfil=/tmp/result stuffs="${stuffs:-10}" title="${TITLE:-n[hfBXNc[wwipe-outx}" dialog 2>$resultfil \ --title "$title" \ --menu '@IĂ' \ 12 74 5 \ 10 '10̏2㏑' \ 01 '01̏2㏑' \ R0 '_0̏2㏑' \ RR0 '__0̏3㏑' \ R10 '_10̏3㏑' \ PQ0 '_p^[␔0̏3㏑' \ RR10 '_~210̏4㏑' \ 1010 '1010̏4㏑' \ PQ10 'p^[␔10̏4㏑' \ PQR0 'p^[␔_10̏4㏑' \ 01010 '(01)~20̏5㏑' \ RRR10 '_~310̏5㏑' \ PQPQ0 '(p^[␔)~20̏5㏑' \ 101010 '101010̏6㏑' \ RRRR10 '_~410̏6㏑' \ PQPQ10 '(p^[␔)~210̏6㏑' \ 0101010 '(01)~30̏7㏑' \ R101010 '_101010̏7㏑' \ R10R10R10 '(_10)~3̏9㏑' \ PQRPQRPQR0 '(p^[␔_)~30̏10' \ PQRPQRPQR10 '(p[^␔_)~310̏11' \ R10R10R10R10 '(_10)~4̏12㏑' \ PQRPQRPQRPQR0 '(p^[␔_)~40̏13' \ PQRPQRPQRPQR10 '(p^[␔_)~410̏14' \ PQR10PQR10PQR10 '(p^[␔_10)~3̏15' \ case x"$?" in x0) newstuff=`cat $resultfil` if [ x"$stuffs" != x"$newstuff" ]; then msg="@ ${stuffs} " msg="${msg} ${newstuff} ɕύX܂B" dialog --title "$title" \ --infobox "$msg" 3 72 sleep 2 fi stuffs="$newstuff" ;; x1) dialog --title "$title" \ --infobox '@̑ILZ܂' 3 64 sleep 2 ;; esac # EOF #! /bin/sh # # verify.sh -- f[^Ă邩mF # # g: /bin/sh verify.sh step fBXN # step: XLbv钷 # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh verify.sh 0 ad0 (fBXNS) # /bin/sh verify.sh 90 ad0 (Ŝ1/10) # /bin/sh verify.sh 990 ad0 (Ŝ1/100) # # 0.0: Jul. 8, 2005 by Dai ISHIJIMA (for wpout06) # 0.2: Aug. 1, 2006 (^CX^v for wpout07) # 0.3: Feb. 10, 2007 (OL^ for wpout08) # 0.4: Feb. 15, 2007 (G^[L[΍) # 0.5: Sep. 12, 2007 (wpout09) # 0.6: Oct. 6, 2007 (vZ32rbgt͈̔͂ōs) # 0.7: Dec. 23, 2007 (o[Ot\̌vZC) # 0.8: Jan. 2, 2008 (OC) # 0.9: Apr. 19, 2009 (mFbZ[W, wpout10) # 1.0: Mar. 21, 2014 (c莞ԌvZC) # 1.1: Mar. 22, 2014 (ʂ̂‚炷 (XV炷)) # ERRORLOG="${ERRORLOG:-/tmp/wperrlog.txt}" exec 2>> $ERRORLOG echo "# start $0, $@" 1>&2 echo '# ---------------------------- #' 1>&2 # PƂł悤 LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" DMESG="${DMESG:-/var/run/dmesg.boot}" PATTERNFIL="${PATTERNFIL:-/tmp/pattern.dat}" STATEFIL="${STATEFIL:-/tmp/status.txt}" dispupd="${DISPUPD:-2}" echo '# ---------------------------- #' >> $LOGFIL echo -n "script $0 started on " >> $LOGFIL date >> $LOGFIL echo -n 'starting verify' > $STATEFIL step="${1:-1}" disk="${2:-ad0}" dmesg="${DMESG:-/var/run/dmesg.boot}" # 10MoCgPʂŊmF vblklen="${VBLKLEN:-10485760}" # x1MoCg vbs="${VBS:-1048576}" vunit=$(( $vbs / 1048576 )) # x10ubN vcnt=$(( $vblklen / $vbs )) # resultfil=/tmp/result # title="${TITLE:-n[hfBXNc[wwipe-outx}" if [ ! -r /dev/$disk ]; then dialog --title "$title" \ --msgbox "fBXN $disk ݂ȂAǂ߂܂" \ 5 64 exit 1 fi dname=`sed -n -E "/^${disk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` dbytes=`disksize -p /dev/$disk` bytes=`disksize -B /dev/$disk` # mF̃p[^ mbytes=`disksize -m /dev/$disk` # ubNTCYPʂł̃fBXNTCY max=$(( $mbytes / $vunit )) msg="fBXN ${disk} ${dname} \n" msg="${msg}f[^ ${bytes}oCg\n" msg="${msg}Ă邱ƂmF܂B\n" msg="${msg}\n 낵ł?" sh dummyread.sh dialog --title "$title" --yesno "$msg" 9 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'mFLZ܂' 3 64 sleep 2 exit 1 ;; esac # zero=0 one=0 maybe=0 unerased=0 checked=0 startsec=`tinydate '+%s'` rems='' # Jn startstamp=`date '+%Y-%m-%d %H:%M'` # echo "v ---------------------------- v" >> $LOGFIL echo -n "verify started on " >> $LOGFIL date >> $LOGFIL echo " $disk ($dname) $bytes bytes" >> $LOGFIL nerrs=0 skip=0 xcent=100 xmill=1000 mcent=$max mmill=$max if [ $max -gt 1048576 ]; then xcent=1 xmill=1 mcent=$(( ( $max + 99 ) / 100 )) mmill=$(( ( $max + 999 ) / 1000 )) fi lastdisp=0 dispintv=0 while [ $skip -lt $max ]; do # v cursec=`tinydate '+%s'` # o[Ot p=$(( ( $xcent * $skip ) / $mcent )) m=$(( ( $xmill * $skip ) / $mmill )) q=$(( $p / 2 )) i=0 bar='' while [ $i -lt $q ]; do bar="$bar"'#' i=$(( $i + 1 )) done while [ $i -lt 50 ]; do bar="$bar"'_' i=$(( $i + 1 )) done # c莞 elapsed=$(( $cursec - $startsec )) if [ $elapsed -gt 10 ]; then if [ $m -gt 0 ]; then remain=$(( ( 1000 - $m ) * $elapsed / $m + 1 )) if [ $remain -gt 120 ]; then rems=$(( ( $remain + 59 ) / 60 )) rems="c 悻${rems}" else rems="c 悻${remain}b" fi fi fi if [ $elapsed -gt 120 ]; then elas=$(( ( $elapsed + 30 ) / 60 )) elas="${elas}" else elas="${elapsed}b" fi # echo -n "verify $disk, $p % done" > $STATEFIL text="fBXN ${disk} ̃f[^`FbNĂ܂B\n" text="${text}${max}ubN̂${skip}ubN^${p}% I\n" text="${text}${elas} o ${rems} \n\n" text="${text} 0%|${bar}|100%" text="${text}\n${errormsg}" dispintv=$(( $cursec - $lastdisp )) if [ $dispintv -ge $dispupd ]; then dialog --title "$title" --infobox "$text" 8 72 lastdisp=$cursec else echo -e '\r\c' fi case "x$progchar" in xO) progchar='.' ;; xo) progchar='O' ;; *) progchar='o' ;; esac echo -n "$progchar $status2 " case x$DEBUG in x[Yy]*) status2='now in debug mode...' errormsg='' sleep 1 ;; *) status=`(dd if=/dev/$disk ibs=$vbs skip=$skip count=$vcnt | check -s) 2>&1` case $? in 0) zero=$(( $zero + $vcnt )) ;; 1) one=$(( $one + $vcnt )) ;; 2) maybe=$(( $maybe + $vcnt )) ;; *) unerased=$(( $unerased + $vcnt )) ;; esac status2=`echo "$status" | sed -n '/transfer/p'` errormsg=`echo "$status" | sed -n -E '/records (in|out)$/!p' | sed -n '/transferred in/!p'` ;; esac # ʼnsɏoXe[^X̂Ƃ case x"$status2" in x) status2="skipping unerased block $unerased at $skip" ;; esac # L^ case x"$skip" in x0) echo "skip: $skip, $status2" >> $LOGFIL ;; esac case x"${nerrs}"x"${errormsg}" in x[0-8]x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; x9x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL echo "Too many errors encounterd..." >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; esac # [v checked=$(( $checked + $vcnt )) skip=$(( $skip + $vcnt + $step )) done sleep 2 # echo "skip: $skip, $status2" >> $LOGFIL echo "number of error messages: $nerrs" >> $LOGFIL echo -n "verify finished on" >> $LOGFIL date >> $LOGFIL echo " $disk ($dname, $dbytes), max = $max, checked = $checked" >> $LOGFIL echo "^ ---------------------------- ^" >> $LOGFIL cursec=`tinydate '+%s'` elapsed=$(( $cursec - $startsec )) if [ $elapsed -gt 120 ]; then min=$(( $elapsed / 60 )) sec=$(( $elapsed - $min * 60 )) elas="${min}${sec}b" else elas="${elapsed}b" fi # I endstamp=`date '+%H:%M'` unerased=$(( $unerased + $maybe )) zp=$(( $zero * 100 / $checked )) op=$(( $one * 100 / $checked )) np=$(( $unerased * 100 / $checked )) msg="fBXN ($disk, $dbytes oCg) ̃`FbNI܂ (${elas})\n" msg="${msg}S $max ubN $checked ubN܂\n" msg="${msg} '0' ŏĂubN: $zero ($zp %)\n" msg="${msg} '1' ŏĂubN: $one ($op %)\n" msg="${msg} ȊO () ̃ubN: $unerased ($np %)\n" # Oۑ echo "Verified $checked blocks" > /tmp/verify-log.$disk echo -n " erased with 0:${zp}%, 1:${op}%, " >> /tmp/verify-log.$disk echo "unerased:${np}%" >> /tmp/verify-log.$disk echo " $startstamp -> $endstamp" >> /tmp/verify-log.$disk echo -n "$disk verified ($elapsed [s])" > $STATEFIL sh dummyread.sh # Ȃ~܂? #echo -n "final confirmation message displayed on " >> $LOGFIL #date >> $LOGFIL dialog --title "$title" \ --msgbox "$msg" 10 72 # echo '# ---------------------------- #' 1>&2 exit 0 # EOF #! /bin/sh # # dump.sh -- fBXÑf[^\ # # 0.0: Jul. 8, 2005 by Dai ISHIJIMA (wpout06) # 0.1: Sep. 12, 2007 (wpout09) # # g: /bin/sh dump.sh skip fBXN # skip: XLbv钷 # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh dump.sh 0 ad0 # # skip="${1:-0}" disk="${2:-ad0}" title=" $disk ZN^ $skip ̓e" (dd if=/dev/$disk skip=$skip count=1 | tinydump > /tmp/dump.txt) 2>/dev/null dialog --title "$title" \ --textbox /tmp/dump.txt 20 76 #! /bin/sh # # writelog.sh -- OfBXNɏ # # g: /bin/sh writelog.sh fBXN # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh writelog.sh ad0 # # 0.0: Aug. 1, 2006 by Dai ISHIJIMA (for wpout07) # 0.1: Aug. 7, 2006 OɊmF # 0.2: Feb. 10, 2007 (OL^ for wpout08) # 0.3: Feb. 15, 2007 (G^[L[΍) # 0.4: Sep. 12, 2007 (wpout09) # disk="${1:-ad0}" mbr="${MBR:-wpout-mbr.boot}" title="${TITLE:-n[hfBXNc[wwipe-outx}" # łɏς݂? if [ ! -s /tmp/erase-log.$disk ]; then dialog --title "$title" \ --yesno '삪sĂ܂\n{ɏ݂܂?' \ 6 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'Ȍ݂LZ܂' 3 64 sleep 2 exit 1 ;; esac fi # {ɏĂ̂? dd if=/dev/$disk count=1 of=/tmp/org-mbr.$disk 1>/dev/null 2>&1 if ! check < /tmp/org-mbr.$disk 1>/dev/null 2>&1 ; then dialog --title "$title" \ --yesno 'MBR0ŏĂ܂\n{ɏ݂܂?' \ 6 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'Ȍ݂LZ܂' 3 64 sleep 2 exit 1 ;; esac fi # O݂Ȃ炻炵쐬 if [ ! -s /tmp/erase-log.$disk ]; then echo 'The contents of this storage device' > /tmp/erase-log.$disk echo 'may have been erased' >> /tmp/erase-log.$disk echo 'with hard disk wiping tool "wipe-out."' >> /tmp/erase-log.$disk fi if [ ! -s /tmp/verify-log.$disk ]; then echo 'But NOT verified.' > /tmp/verify-log.$disk fi # ŏImF sh dummyread.sh dialog --title "$title" \ --yesno "OfBXN ($disk) ɏ݂܂?" \ 6 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'Ȍ݂LZ܂' 3 64 sleep 2 exit 1 ;; esac echo -n 'Logged: ' > /tmp/stamp-log.$disk date '+%Y-%m-%d %H:%M:%S' >> /tmp/stamp-log.$disk echo 'ABSOLUTELY NO WARRANTY.' >> /tmp/stamp-log.$disk # ݑ cat $mbr /tmp/erase-log.$disk /tmp/verify-log.$disk /tmp/stamp-log.$disk | makembr > /tmp/boot.$disk # echo -n "MBR log was written on " >> $LOGFIL date >> $LOGFIL echo "==" >> $LOGFIL cat /tmp/erase-log.$disk /tmp/verify-log.$disk /tmp/stamp-log.$disk >> $LOGFIL echo "==" >> $LOGFIL case x$DEBUG in x[Yy]*) echo 'debug mode, no write' mesg="OfBXN ($disk) ɏ݂܂ (in debug mode)" ;; *) if dd if=/tmp/boot.$disk of=/dev/$disk > /dev/null 2>&1; then mesg="OfBXN ($disk) ɏ݂܂" else mesg="OfBXN ($disk) ɏ߂܂ł" fi ;; esac sh dummyread.sh dialog --title "$title" --msgbox "$mesg" 5 72 exit 0 # EOF #! /bin/sh # # copy.sh -- G[𖳎ăf[^Rs[ # # g: /bin/sh copy.sh Rs[fBXN Rs[fBXN # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh copy.sh ad0 ad1 # # 0.0: Aug. 5, 2006 by Dai ISHIJIMA (for wpout07) # 0.1: Feb. 10, 2007 (OL^ for wpout08) # 0.2: Feb. 15, 2007 (G^[L[΍) # 0.3: Sep. 12, 2007 (wpout09) # 0.4: Oct. 6, 2007 (expr(1) POSIXΉ) # 0.4: Dec. 13, 2007 (o[OtAc菊vԂ̃I[o[t[C) # 0.5: Jan. 2, 2008 (OC) # 0.6: Apr. 19, 2009 (ubNTCY•, wpout10) # 0.7: Oct. 11, 2013 (Rs[̃fBXN\, wpout13) # ERRORLOG="${ERRORLOG:-/tmp/wperrlog.txt}" exec 2>> $ERRORLOG echo "# start $0, $@" 1>&2 echo '# ---------------------------- #' 1>&2 # PƂł悤 LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" DMESG="${DMESG:-/var/run/dmesg.boot}" STATEFIL="${STATEFIL:-/tmp/status.txt}" PATTERNFIL="${PATTERNFIL:-/tmp/pattern.dat}" dispupd="${DISPUPD:-2}" echo '# ---------------------------- #' >> $LOGFIL echo -n "script $0 started on " >> $LOGFIL date >> $LOGFIL echo -n 'starting copy' > $STATEFIL # vZ 32bit signed int ̌EɈȂ悤ɂ export EXPR_COMPAT # ubNTCY512oCg cbs="${CBS:-512}" srcdisk="${1:-ad0}" dstdisk="${2:-ad1}" cbs="${3:-$cbs}" dmesg="${DMESG:-/var/run/dmesg.boot}" if [ ! -r /dev/$srcdisk ]; then echo "$0: disk '$srcdisk' does not exist or is not readable" echo "Usage: $0 srcdisk dstdist" exit 1 fi if [ ! -w /dev/$dstdisk ]; then echo "$0: disk '$dstdisk' does not exist or is not writable" echo "Usage: $0 srcdisk dstdist" exit 1 fi # x32MoCg blklen="${BLKLEN:-33554432}" # Rs[̃p[^ # MoCgPʂŐ mbytes=`disksize -m /dev/$srcdisk` # 524288MoCgȉȂubNTCY512oCg # ubÑJEg30rbgŎ܂悤ɂ xbs=$(( ( $mbytes + 524288 - 1 ) / 524288 )) minbs=512 xbs=$(( $xbs >> 1 )) # ubN̓fBXNTCYɉ 512, 1k, 2k, 4k,.. while [ $xbs -gt 0 ]; do minbs=$(( $minbs << 1 )) xbs=$(( $xbs >> 1 )) done # wubNZ (vZӂ鋰̂) Ƃ͒ if [ $cbs -lt $minbs ]; then cbs=$minbs fi ccnt=$(( $blklen / $cbs )) # obs="${OBS:-1048576}" ocnt=$(( $blklen / $obs )) ounit=$(( $obs / 1048576 )) title="${TITLE:-n[hfBXNc[wwipe-outx}" sname=`sed -n -E "/^${srcdisk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` sbytes=`disksize -B /dev/$srcdisk` dname=`sed -n -E "/^${dstdisk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` dbytes=`disksize -B /dev/$dstdisk` msg="fBXN ${srcdisk} ${sname} \n" msg="${msg}Sf[^ ${sbytes}oCgA${cbs}oCgPʂ\n" msg="${msg}fBXN ${dstdisk} ${dname}\n" msg="${msg}(${dbytes}oCg) ɃRs[܂B" msg="${msg}\n 낵ł?" sh dummyread.sh dialog --title "$title" --yesno "$msg" 9 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXÑRs[LZ܂' 3 64 sleep 2 exit 1 ;; esac msg="{${srcdisk}̃f[^${dstdisk}ɃRs[Ăł?" sh dummyread.sh dialog --title "$title" \ --hline "$dname" \ --yesno "$msg" \ 5 72 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXÑRs[LZ܂' 3 64 sleep 2 exit 1 ;; esac dd if=/dev/$dstdisk ibs=512 count=1 | check -s 2>&1 case $? in 0) dstempty="may be empty or erased." ;; *) dstempty="may NOT be empty or erased." msg="Rs[̃fBXN${dstdisk} ${dname}\n" msg="${msg}ɂ̓f[^cÔ\܂\n" msg="${msg}{${srcdisk}̃f[^" msg="${msg}${dstdisk}ɃRs[Ăł?" sh dummyread.sh dialog --title "$title" \ --hline "$dname" \ --yesno "$msg" \ 7 72 case x"$?" in x1) dialog --title "$title" \ --infobox \ 'fBXÑRs[LZ܂' 3 64 sleep 2 exit 1 ;; esac ;; esac ccnt=$(( $blklen / $cbs )) max=$(( $mbytes * (1048576 / $cbs) )) startsec=`tinydate '+%s'` rems='' # echo "v ---------------------------- v" >> $LOGFIL echo -n "copy started on " >> $LOGFIL date >> $LOGFIL echo " copy $srcdisk ($sname)" >> $LOGFIL echo " -> $dstdisk ($dname)" >> $LOGFIL echo " destination disk $dstdisk ($dname) $dstempty" >> $LOGFIL echo " copying $sbytes bytes ($mbytes Mbytes)" >> $LOGFIL echo " cbs=$cbs, ccnt=$ccnt, max=$max, obs=$obs, ocnt=$ocnt" >> $LOGFIL nerrs=0 skip=0 oseek=0 xcent=100 xmill=1000 mcent=$max mmill=$max if [ $max -gt 1048576 ]; then xcent=1 xmill=1 mcent=$(( ( $max + 99 ) / 100 )) mmill=$(( ( $max + 999 ) / 1000 )) fi # echo " xcent=$xcent, xmill=$xmill, mcent=$mcent, mmill=$mmill" >> $LOGFIL lastdisp=0 dispintv=0 while [ $skip -le $max ]; do # v cursec=`tinydate '+%s'` # o[Ot p=$(( ( $xcent * $skip ) / $mcent )) m=$(( ( $xmill * $skip ) / $mmill )) q=$(( $p / 2 )) i=0 bar='' while [ $i -lt $q ]; do bar="$bar"'#' i=$(( $i + 1 )) done while [ $i -lt 50 ]; do bar="$bar"'_' i=$(( $i + 1 )) done # c莞 elapsed=$(( $cursec - $startsec )) if [ $elapsed -gt 10 ]; then if [ $m -gt 0 ]; then remain=$(( ( 1000 - $m ) * $elapsed / $m + 1 )) if [ $remain -gt 120 ]; then rems=$(( ( $remain + 59 ) / 60 )) rems="c 悻${rems}" else rems="c 悻${remain}b" fi fi fi if [ $elapsed -gt 120 ]; then elas=$(( ( $elapsed + 30 ) / 60 )) elas="${elas}" else elas="${elapsed}b" fi # echo -n "copying $srcdisk to $dstdisk, $p % done" > $STATEFIL text="fBXN ${srcdisk} ${sname} \n" text="${text}f[^ ${dstdisk} ${dname} \n" text="${text}${cbs}oCgPʂŃRs[Ă܂B\n" text="${text} ${p}% ($skip/$max) I ^ " text="${text}${elas} o ${rems} \n\n" text="${text} 0%|${bar}|100%" text="${text}\n${errormsg}" dispintv=$(( $cursec - $lastdisp )) if [ $dispintv -ge $dispupd ]; then dialog --title "$title" --infobox "$text" 9 72 lastdisp=$cursec else echo -e '\r\c' fi case "x$progchar" in xO) progchar='.' ;; xo) progchar='O' ;; *) progchar='o' ;; esac echo -n "$progchar $status2 " case x$DEBUG in x[Yy]*) status2='now in debug mode...' errormsg='' sleep 1 ;; *) status=`dd if=/dev/$srcdisk ibs=$cbs skip=$skip conv=noerror,sync obs=$obs seek=$oseek count=$ccnt of=/dev/$dstdisk 2>&1` status2=`echo "$status" | sed -n '/transfer/p'` errormsg=`echo "$status" | sed -n -E '/records (in|out)$/!p' | sed -n '/transferred in/!p'` ;; esac # L^ case x"$skip" in x0) echo "skip: $skip, $status2" >> $LOGFIL ;; esac case x"${nerrs}"x"${errormsg}" in x[0-8]x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; x9x?*) echo "errmesg[${nerrs}]: $errormsg" >> $LOGFIL echo "Too many errors encounterd..." >> $LOGFIL nerrs=$(( $nerrs + 1 )) ;; esac # [v skip=$(( $skip + $ccnt )) oseek=$(( $oseek + $ocnt )) done sleep 2 # echo "skip: $skip, $status2" >> $LOGFIL echo "number of error messages: $nerrs" >> $LOGFIL echo -n "copy finished on " >> $LOGFIL date >> $LOGFIL echo -n "$srcdisk ($sname, $sbytes)" >> $LOGFIL echo " -> $dstdisk ($dname, $dbytes)" >> $LOGFIL echo "^ ---------------------------- ^" >> $LOGFIL cursec=`tinydate '+%s'` elapsed=$(( $cursec - $startsec )) if [ $elapsed -gt 120 ]; then min=$(( $elapsed / 60 )) sec=$(( $elapsed - $min * 60 )) elas="${min}${sec}b" else elas="${elapsed}b" fi echo -n "$disk copied ($elapsed [s])" > $STATEFIL sh dummyread.sh dialog --title "$title" \ --msgbox "fBXÑRs[I܂ (${elas})" 5 72 # echo '# ---------------------------- #' 1>&2 exit 0 # EOF #! /bin/sh # # embr.sh -- MBR̂ݏ # # g: /bin/sh embr.sh fBXN # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh embr.sh ad0 # # 0.0: Dec. 21, 2006 by Dai ISHIJIMA (for wpout07) # 0.1: Feb. 10, 2007 (OL^ for wpout08) # 0.2: Feb. 15, 2007 (G^[L[΍) # 0.3: Sep. 12, 2007 (wpout09) # 0.4: Jan. 2, 2008 (OC) # LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" dmesg="${DMESG:-/var/run/dmesg.boot}" disk="${1:-ad0}" echo '# ---------------------------- #' >> $LOGFIL echo -n "script $0 started on " >> $LOGFIL date >> $LOGFIL #if [ ! -w /dev/$disk ]; then # echo "$0: disk '$disk' does not exist or is not writable" # echo "Usage: $0 disk" # echo "Example: $0 ad0" # exit 1 #fi title="${TITLE:-n[hfBXNc[wwipe-outx}" dname=`sed -n -E "/^${disk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` msg="fBXN ${disk} ${dname} \n" msg="${msg}MBR (}X^Eu[gER[h; 擪ZN^)\n" msg="${msg}** ܂B\n" msg="${msg}\n" msg="${msg}MBRƁAfBXNׂ̂Ẵf[^\n" msg="${msg}ȂȂ̂悤Ɍ܂BA\n" msg="${msg}c[Ōɖ߂Ƃ”\Ȃ̂\n" msg="${msg}Rk̊댯܂BӂB\n" msg="${msg}\n 낵ł?" sh dummyread.sh dialog --title "$title" --yesno "$msg" 15 52 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXN̏LZ܂' 3 64 sleep 2 exit 1 ;; esac msg="fBXN ${disk} MBR𒆎~܂?" sh dummyread.sh dialog --title "$title" \ --hline "$dname" \ --yesno "$msg" \ 5 72 case x"$?" in x0) dialog --title "$title" \ --infobox 'fBXN̏LZ܂' 3 64 sleep 2 exit 1 ;; esac echo "v ---------------------------- v" >> $LOGFIL echo -n "erase MBR ($disk) started on " >> $LOGFIL date >> $LOGFIL case x$DEBUG in x[Yy]*) echo -n "now in debug mode..." echo 'debug mode' >> $LOGFIL ;; *) dd bs=512 count=1 if=/dev/zero of=/dev/$disk ;; esac sleep 3 # echo -n "erase MBR ONLY $disk ($dname) on " >> $LOGFIL date >> $LOGFIL echo "^ ---------------------------- ^" >> $LOGFIL sh dummyread.sh dialog --title "$title" \ --msgbox "MBȐI܂" 5 64 exit 0 # EOF #! /bin/sh # # crlf.sh -- sR[h LF (\n) CRLF (\r\n) # # 0.0: Feb. 5, 2007 by Dai ISHIJIMA # 0.1: Feb. 18, 2007 by Dai ISHIJIMA # cr=`echo -e '\r'` if sed 's/$/'"$cr"'/' ; then exit 0 else echo "crlf.sh: write failed" exit 1 fi # EOF#! /bin/sh # # floppylog.sh -- tbs[ɃOL^ # # g: /bin/sh floppylog.sh [fBXN] # fBXN: foCXt@CŎwA擪́u/dev/v͏Ȃ # : /bin/sh floppylog.sh fd0 # # 0.0: Feb. 10, 2007 by Dai ISHIJIMA (for wpout08) # 0.1: Feb. 15, 2007 (fBXNI) # 0.2: Feb. 15, 2007 (dmesg -a Ō) # 0.3: Feb. 18, 2007 (LZsbugfix) # 0.4: Feb. 20, 2007 (VFϐ) # 0.5: Feb. 21, 2007 (Ɠeʼnsɕ\) # 0.6: Feb. 23, 2007 (: Ɠeʼnsɕ\) # 0.7: Sep. 12, 2007 (wpout09) # 0.8: Oct. 6, 2007 (expr ̑ $(( )) ) # 0.9: Mar. 22, 2014 (G[O) # dmesg="${DMESG:-/var/run/dmesg.boot}" ERRORLOG="${ERRORLOG:-/tmp/wperrlog.txt}" disk="${1:-fd0}" resultfil=/tmp/result searchfor="fd0 da0 da0s1 da1 da1s1 da2 da2s1 da3 da3s1" header=/tmp/header.txt title="${TITLE:-n[hfBXNc[wwipe-outx}" dialog --title "$TITLE" \ --infobox "O̕ۑĂ܂" 3 64 ndevs=0 devs='' for dev in $searchfor ; do echo -e "\r \r\c" echo -n "checking $dev" if mount_msdosfs -s -o rdonly /dev/$dev /floppy > /dev/null 2>&1; then if [ -d /floppy/wipe-out ]; then devs="$devs $dev" ndevs=$(( $ndevs + 1 )) fi umount /floppy fi done case x"$ndevs" in x0) echo "no device to write log" >> $LOGFIL msg="O̕ۑ悪݂‚܂ł" dialog --title $title --msgbox "$msg" 5 64 exit 1 ;; esac taglist='' for dev in $devs ; do d=`echo $dev | sed 's/^\([a-z][a-z]*[0-9]\).*/\1/'` dname=`sed -n -E "/^${d}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` taglist="$taglist $dev '$dname'" done sh dummyread.sh eval dialog \ --title "'$title'" \ --menu "'O̕ۑIĂ'" \ 10 72 3 \ $taglist \ 2>$resultfil case "$?" in 0) disk=`cat $resultfil` msg="O ${disk} ɕۑ܂" dialog --title "$title" --infobox "$msg" 3 64 ;; 1) dialog --title "$title" \ --infobox 'O̕ۑLZ܂' 3 64 sleep 2 # 2007-02-18 exit 1 ;; esac echo -e "\r \r\c" echo -n "mounting floppy" if ! mount_msdosfs -s /dev/$disk /floppy > /dev/null 2>&1; then msg="ۑ ${disk} ݃}Egł܂ł" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi echo "" > $header echo -n "####################################" >> $header echo "####################################" >> $header echo -n "following messages were logged on " >> $header date >> $header echo -n "====================================" >> $header echo "====================================" >> $header # dmesg.boot echo -e "\r \r\c" echo -n "writing dmesg.boot header" if ! crlf.sh < $header >> /floppy/wipe-out/dmsgboot.txt ; then umount /floppy msg="dmesg.bootwb_݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi echo -e "\r \r\c" echo -n "writing dmesg.boot body" if ! crlf.sh < $dmesg >> /floppy/wipe-out/dmsgboot.txt ; then umount /floppy msg="dmesg.boot݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi # wpoutlog.txt echo -e "\r \r\c" echo -n "writing wpoutlog header" if ! crlf.sh < $header >> /floppy/wipe-out/wpoutlog.txt ; then umount /floppy msg="wipe-outOwb_݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi echo -e "\r \r\c" echo -n "writing wpoutlog body" if ! crlf.sh < $LOGFIL >> /floppy/wipe-out/wpoutlog.txt ; then umount /floppy msg="wipe-outȌ݂Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi # mbrlog.txt echo -e "\r \r\c" echo -n "writing mbrlog header" if ! crlf.sh < $header >> /floppy/wipe-out/mbrlog.txt ; then umount /floppy msg="MBROwb_݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi # wperrlog.txt echo -e "\r \r\c" echo -n "writing errorlog" if ! crlf.sh < $ERRORLOG >> /floppy/wipe-out/wperrlog.txt ; then umount /floppy msg="G[Ȍ݂Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi eraselog='No erase log found' echo -e "\r \r\c" echo -n "writing mbrlog body" for i in /tmp/erase-log.* ; do if [ -f "$i" ]; then if ! crlf.sh < $i >> /floppy/wipe-out/mbrlog.txt ; then umount /floppy msg="MBRO ($i) ݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi eraselog='' fi done case x"$eraselog" in xNo*) if ! echo "$eraselog" | crlf.sh >> /floppy/wipe-out/mbrlog.txt ; then umount /floppy msg="MBRȌ݂Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi esac verifylog='No verify log found' echo -e "\r \r\c" echo -n "writing verifylog body" for i in /tmp/verify-log.* ; do if [ -f "$i" ]; then if ! crlf.sh < $i >> /floppy/wipe-out/mbrlog.txt ; then umount /floppy msg="MBRO ($i) ݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi verifylog='' fi done case x"$verifylog" in xNo*) if ! echo "$verifylog" | crlf.sh >> /floppy/wipe-out/mbrlog.txt ; then umount /floppy msg="MBRȌ݂Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi esac # VFϐ echo -e "\r \r\c" echo -n "writing environ header" if ! crlf.sh < $header >> /floppy/wipe-out/environ.txt ; then umount /floppy msg="VFϐOwb_݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi echo -e "\r \r\c" echo -n "writing environ body" if ! set | crlf.sh >> /floppy/wipe-out/environ.txt ; then umount /floppy msg="VFϐȌ݂Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi # dmesg-a echo -e "\r \r\c" echo -n "writing dmesg -a header" if ! crlf.sh < $header >> /floppy/wipe-out/dmesg-a.txt ; then umount /floppy msg="dmesg -a wb_݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi echo -e "\r \r\c" echo -n "writing dmesg -a body" if ! dmesg -a | crlf.sh >> /floppy/wipe-out/dmesg-a.txt ; then umount /floppy msg="dmesg -a ݂̏Ɏs܂" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi echo -e "\r \r\c" echo -n "umounting floppy" if ! umount /floppy > /dev/null 2>&1; then msg="݌ɃfBXN ${disk} A}Egł܂ł" dialog --title "$title" --msgbox "$msg" 5 64 exit 1 fi dialog --title "$title" \ --msgbox "Ȍ݂I܂" 5 64 exit 0 # EOF #! /bin/sh # # dummyread.sh -- L[{[h͂Ă镶ǂŎ̂Ă # # 0.0: Feb. 12, 2007 by Dai ISHIJIMA (for wpout08) # while read -t 0 keyin > /dev/null 1>&2 ; do case x"$DEBUG" in xY*) echo "|$keyin|" ;; esac done exit 0 # EOF #! /bin/sh # # kon2start.sh -- JEg_E‚Aǂ̃[hɈڍs邩I # # 0.0: May 5, 2009 by Dai ISHIJIMA (as countdown.sh) # 0.1: Apr. 11, 2011 for wpout11 # 0.2: Oct. 11, 2013 (use /dev/ttyv0, wpout13) # 0.3: May 11, 2014 (comconsole -> serial console) # 0.4: Aug 3, 2015 (FreeBSD 9.3R, kon -s for single user mode) # export TTY="${TTY:-ttyv0}" export LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" ####export TERMCAP=/etc/termcap export TERM=vt100 # for kon echo '' echo 'Starting yet another console session on VTY1 (Alt+F2)' /wipeout/shell-on /dev/ttyv1 echo -n 'You can start yet another wipe-out session with ' > /dev/ttyv1 echo '"sh /wipeout/kon2alt.sh"' > /dev/ttyv1 echo -n "Starting console session on VTY1" >> $LOGFIL date >> $LOGFIL export STATEFIL=/tmp/status.txt echo -n 'selecting console' > $STATEFIL echo 'Starting screen saver on VTY7 (Alt+F8)' /wipeout/shell-on /dev/ttyv7 /bin/sh /wipeout/scsaver.sh echo -n "Starting screen saver on VTY7" >> $LOGFIL date >> $LOGFIL echo '' prompt="waiting for device to settle... (press SPACE to pause) " count=5 # 2016-12-08 while [ $count -ge 0 ]; do echo -e "\r$prompt[$count] \c" if tread -t 1 -e 1 > /tmp/keyin; then count=0 keyin=`sed -n 1p /tmp/keyin` fi count=$(( $count - 1 )) done #echo -e "\r$prompt[0]" echo '' echo '' echo '' echo "# select console mode" echo " 0: Start wipe-out on KON2 (Kanji on console) [default]" echo " 1: Start wipe-out on KON2 fixed for some Laptops" if [ -c /dev/cuau0 ]; then echo " c: Start wipe-out on serial console (regacy serial, uart0)" fi if [ -c /dev/cuaU0 ]; then echo " u: Start wipe-out on serial console (USB adaptor, ucom0)" fi echo " S: Start interactive shell, stay in Native console (non Japanese)" prompt="# Just press ENTER to select default mode" count=9 keyin=0 # 2016-12-08 while [ $count -ge 0 ]; do echo -e "\r$prompt[$count] \c" if tread -t 1 -e 1 > /tmp/keyin; then count=0 keyin=`sed -n 1p /tmp/keyin` fi count=$(( $count - 1 )) done #echo -e "\r$prompt[0]" echo '' echo -n "kon2start with keyin = $keyin, " >> $LOGFIL date >> $LOGFIL export KON2MODE=NONE case x"$keyin" in x*S*) /bin/sh -i ;; x*c*) export TTY=comconsole.cuau0 dmesg > /dev/cuau0 /wipeout/shell-on /dev/cuau0 /bin/sh /wipeout/startup.sh ;; x*u*) export TTY=comconsole.cuaU0 dmesg > /dev/cuaU0 /wipeout/shell-on /dev/cuaU0 /bin/sh /wipeout/startup.sh ;; x*0*) export KON2MODE=default echo 'default' > /tmp/kon2mode.txt /usr/local/bin/kon -s -e /wipeout/startup.sh \ < /dev/ttyv0 ;; *) export KON2MODE=FIXed echo 'FIXed' > /tmp/kon2mode.txt /usr/local/bin/kon2fixed FIX -s -e /wipeout/startup.sh \ < /dev/ttyv0 ;; esac exit 0 # EOF #! /bin/sh # # kon2alt.sh -- start kon2 on another VTY session # 0.0: Aug. 7, 2015 (v1.5) # 0.1: Nov. 23, 2016 (v1.6) # PATH=/usr.bin:/usr/bin:/bin:/usr.sbin:/usr/sbin:/sbin:/usr/local/bin:/wipeout:. export PATH export TERM=vt100 export TTY=`/usr.bin/tty` export TTY="${TTY:-ttyv0}" export LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" n=`echo "$TTY" | sed 's/^.*\([0-9]\)/\1/'` n=$(( $n + 1 )) m=$(( $n + 1 )) ntty=`echo $TTY | sed 's/[0-9]$/'"$n"'/'` case x"$n" in x[0-6]) echo '' echo "Starting new console session on VTY$n (Alt+F$m)" /wipeout/shell-on $ntty echo -n 'You can start yet another wipe-out session with '> $ntty echo '"sh /wipeout/kon2alt.sh"' > $ntty echo -n "Starting console session on VTY$n" >> $LOGFIL date >> $LOGFIL ;; esac sleep 2 # 2016-12-07 KON2MODE='default' if [ -f /tmp/kon2mode.txt ]; then KON2MODE=`sed -n 1p /tmp/kon2mode.txt` fi export KON2MODE case x"$KON2MODE" in xF*) /usr/local/bin/kon2fixed FIX -s -e /wipeout/alt-menu.sh < $TTY ;; *) /usr/local/bin/kon -s -e /wipeout/alt-menu.sh < $TTY ;; esac # EOF #! /bin/sh # # vtsstart.sh -- JEg_E‚Aǂ̃[hɈڍs邩I # # 0.0: May 5, 2009 by Dai ISHIJIMA (as countdown.sh) # 0.1: Apr. 11, 2011 for wpout11 # 0.2: Oct. 11, 2013 (use /dev/ttyv0, wpout13) # 0.3: May 11, 2014 (comconsole -> serial console) # 0.4: Aug 3, 2015 (FreeBSD 9.3R, kon -s for single user mode) # 0.5: Jul. 26, 2016 (10.3R, vt), as vtstart.sh # export TTY="${TTY:-ttyv0}" export LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" ####export TERMCAP=/etc/termcap export TERM=vt100 # for kon echo '' echo 'Starting another console session on VTY3 (Alt+F4)' /wipeout/shell-on /dev/ttyv3 echo 'You can start another wipe-out session with "sh kon2alt.sh"' \ > /dev/ttyv3 echo -n "Starting console session on VTY3" >> $LOGFIL date >> $LOGFIL export STATEFIL=/tmp/status.txt echo -n 'selecting console' > $STATEFIL echo 'Starting screen saver on VTY7 (Alt+F8)' /wipeout/shell-on /dev/ttyv7 /bin/sh /wipeout/scsaver.sh echo -n "Starting screen saver on VTY7" >> $LOGFIL date >> $LOGFIL echo '' echo '' echo '' echo "# select console mode" echo " 0: Start wipe-out on VT console [default]" if [ -c /dev/cuau0 ]; then echo " c: Start wipe-out on serial console (regacy serial, uart0)" fi if [ -c /dev/cuaU0 ]; then echo " u: Start wipe-out on serial console (USB adaptor, ucom0)" fi echo " 2: Start interactive shell, stay in Native console (non Japanese)" prompt="# Just press ENTER to select default mode" count=9 while [ $count -gt 0 ]; do echo -e "\r$prompt[$count] \c" if read -t 1 keyin 1>/dev/null 2>&1 ; then count=0 fi count=$(( $count - 1 )) done case x"$count" in x0) echo -e "\r$prompt[0] 0" keyin=0 ;; esac echo -n "vtstart with keyin = $keyin, " >> $LOGFIL date >> $LOGFIL case x"$keyin" in x2) /bin/sh -i ;; xc) export TTY=comconsole.cuau0 dmesg > /dev/cuau0 /wipeout/shell-on /dev/cuau0 /bin/sh /wipeout/startup.sh ;; xu) export TTY=comconsole.cuaU0 dmesg > /dev/cuaU0 /wipeout/shell-on /dev/cuaU0 /bin/sh /wipeout/startup.sh ;; *) /usr.sbin/vidcontrol -f /usr/local/share/fonts/vt/paw16vt.fnt export LC_CTYPE=ja_JP.UTF-8 /bin/sh /wipeout/startup.sh ;; esac echo -n "vstart.sh finished, " >> $LOGFIL date >> $LOGFIL exit 0 # EOF #! /bin/sh # # sanitize.sh -- camcontrol sanitize Ńf[^ # # g: /bin/sh sanitize.sh fBXN # : /bin/sh sanitize da0 # # 0.0: Aug. 4, 2015 by Dai ISHIJIMA (for wpout15, FreeBSD 9.3R) # ERRORLOG="${ERRORLOG:-/tmp/wperrlog.txt}" exec 2>> $ERRORLOG echo "# start $0, $@" 1>&2 echo '# ---------------------------- #' 1>&2 # PƂł悤 LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" DMESG="${DMESG:-/var/run/dmesg.boot}" dispupd="${DISPUPD:-2}" echo '# ---------------------------- #' >> $LOGFIL echo -n "script $0 started on " >> $LOGFIL date >> $LOGFIL # disk="${1:-da0}" dmesg="${DMESG:-/var/run/dmesg.boot}" # resultfil=/tmp/result # title="${TITLE:-n[hfBXNc[wwipe-outx}" # if [ ! -w /dev/$disk ]; then dialog --title "$title" \ --msgbox "fBXN $disk ݂ȂA݂ł܂" \ 5 64 exit 1 fi # mount -p | sed -n -E "/^.dev.$disk/p" > $resultfil if [ -s $resultfil ]; then dialog --title "$title" \ --msgbox "}Eg̃fBXN $disk 邱Ƃ͂ł܂" \ 5 64 exit 1 fi dname=`sed -n -E "/^${disk}:.*<.*>/p" $dmesg | sed 's/.*\(<.*>\).*/\1/'` bytes=`disksize -B /dev/$disk` cap=`disksize -p /dev/$disk` msg="fBXN ${disk} ${dname} \n" msg="${msg}Sf[^ ${bytes}oCgA\n" msg="${msg}Tj^CY@\ (Sanitize Device Feature) ŏ܂B\n" msg="${msg}\n 낵ł?" sh dummyread.sh dialog --title "$title" --yesno "$msg" 9 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXN̏LZ܂' 3 64 sleep 2 exit 1 ;; esac msg="ATAfoCXUSBڑ̃foCXł\n" msg="${msg}Tj^CY (SCSI Sanitize) 삵Ȃ\n" msg="${msg}IĂf[^̏sĂȂƂ܂B\n" msg="${msg}\n 낵ł?" sh dummyread.sh dialog --title "$title" --yesno "$msg" 9 64 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXN̏LZ܂' 3 64 sleep 2 exit 1 ;; esac msg="{${disk} ($cap) ̃f[^Tj^CYĂł?" sh dummyread.sh dialog --title "$title" \ --hline "$dname" \ --yesno "$msg" \ 5 72 case x"$?" in x1) dialog --title "$title" \ --infobox 'fBXN̏LZ܂' 3 64 sleep 2 exit 1 ;; esac dialog --title "$title" \ --infobox 'fBXNTj^CYĂ܂' 3 64 sleep 2 # Jn startstamp=`date '+%Y-%m-%d %H:%M'` # echo "v ---------------------------- v" >> $LOGFIL echo -n "sanitize started on " >> $LOGFIL date >> $LOGFIL echo "sanitize $disk ($dname) $bytes bytes" >> $LOGFIL echo "Issue the SCSI SANITIZE command:" > /tmp/sanitize.txt echo " camcontrol sanitize $disk -v -a block" >> /tmp/sanitize.txt /sbin/camcontrol sanitize $disk -v -a block -y >> /tmp/sanitize.txt 2>&1 case x"$?" in x0) status="finished" echo "Tj^CY͐I܂" > /tmp/sanitizemsg.txt ;; *) status="failed" echo "Tj^CY͓삵܂ł" > /tmp/sanitizemsg.txt ;; esac echo '' >> $LOGFIL echo '::: Sanitize (camcontrol output) :::' >> $LOGFIL cat /tmp/sanitize.txt >> $LOGFIL cat /tmp/sanitize.txt >> /tmp/sanitizemsg.txt sh dummyread.sh dialog --title 'SanitizeO' --textbox /tmp/sanitizemsg.txt 22 76 # echo -n "sanitize $status on " >> $LOGFIL date >> $LOGFIL echo "sanitize $disk ($dname, $cap)" >> $LOGFIL echo "^ ---------------------------- ^" >> $LOGFIL # I endstamp=`date '+%H:%M'` case x"$status" in xfinished) # Oۑ echo 'The contents of this storage device' > /tmp/erase-log.$disk echo "$disk ($cap) '$dname'" >> /tmp/erase-log.$disk echo -n 'were erased with ' >> /tmp/erase-log.$disk echo 'hard disk wiping tool "wipe-out."' >> /tmp/erase-log.$disk echo "Erased with 'SANITIZE'" >> /tmp/erase-log.$disk echo " $startstamp -> $endstamp" >> /tmp/erase-log.$disk echo "but NOT verified" > /tmp/verify-log.$disk ;; esac # echo '# ---------------------------- #' 1>&2 exit 0 # EOF #! /bin/sh # # alt-menu.sh -- ʃX^[gAbvXNvg ({ꉻR\[p) # # 0.0: Aug. 7, 2015 (for v15, FreeBSD 9.3R), from startup.sh, v1.0 # PATH=/usr.bin:/usr/bin:/bin:/usr.sbin:/usr/sbin: PATH="${PATH}"':'"/sbin:/usr/local/bin:/wipeout:." export PATH ##PATH=/usr/bin:/bin:/usr/sbin:/sbin:/:. ##export PATH LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}" DMESG="${DMESG:-/var/run/dmesg.boot}" export DMESG ####echo -n 'ÑVXebZ[WۑĂ܂...' ####dmesg > $DMESG echo '' # umd0vsɌsԍ𒲂ׂBΏd lin1=`sed -n '/^md0/=' $DMESG | sed -n '1p'` lin2=`sed -n '/^md0/=' $DMESG | sed -n '$p'` if [ $lin1 -ne $lin2 ]; then echo 'VXebZ[WdĂ܂B' echo 'xd؂ĂċN邱Ƃ𐄏܂B' echo '𑱍sꍇ́uexitv͂ĂB' /bin/sh -i fi echo '# ---------------------------- #' >> $LOGFIL echo -n "script startmenu2.sh started on " >> $LOGFIL date >> $LOGFIL ####export TERMCAP=/etc/termcap export TERM=kons25jx export PATTERNFIL=/tmp/pattern.dat # 2013-12-07 names of disk device node # !ata(4) -> ad (P-ATA: ad0, S-ATA: ad4, etc.) # ada(4) -> ada (SATA/PATA, FreeBSD 9.3R) # SCSI (da(4)) -> da (SCSI, CAM) # ataraid(4) -> ar # aac(4) -> aacd # amr(4) -> amrd(?) or da(?) (SCSI CAM) # arcmsr(4) -> da (SCSI CAM) # asr(4) -> da(?) (SCSI CAM) # graid3(4) -> da (SCSI CAM) # hptiop(4) -> da(?) # hptmv(4) -> da(?) # hptrr(4) -> da(?) # ida(4) -> idad(?), da(?) # iir(4) -> da(?) # ips(4) -> ipsd(?), da(?) # mfi(4) -> mfid # mlx(4) -> mlxd(?), da(?) # mly(4) -> da(?) # twa(4) -> da(?) # twe(4) -> da(?) export DEVICES='da|ada|ar|aacd|amrd|idad|ipsd|mfid|mlxd|twed' # x32MoCg BLKLEN=$(( 32 * 1024 * 1024 )) export BLKLEN # o̓ubN1MoCg OBS=$(( 1024 * 1024 )) export OBS # ̓ubN (stuff̏o͒) 1koCg IBS=1024 export IBS # mF10MoCg VBLKLEN=$(( 10 * 1024 * 1024 )) export VBLKLEN # mF̓̓ubN1MoCg VBS=$(( 1024 * 1024 )) export VBS # Rs[512oCg CBS=512 export CBS echo '' # debugging case x"$DEBUG" in x[Yy]*) for i in 1 2 3 ; do echo -n '.' sleep 1 done echo '' ;; esac cd /wipeout ####stuff -g > $PATTERNFIL echo "random pattern file $PATTERNFIL generated" >> $LOGFIL if ! /bin/sh mainmenu.sh ; then exit 1 fi # Ƃ肠ΘbVF𓮂Ă :-) /bin/sh -i exit 0 # EOF #! /bin/sh # # scsaver.sh -- XN[Z[o[ # # 0.0: Nov. 8, 2015 by Dai ISHIJIMA (for wpout15) # STATEFIL="${STATEFIL:-/tmp/status.txt}" xpos=0 ypos=0 xmov=13 ymov=19 xmax=40 ymax=23 while true ; do npid=`sh -c 'echo "$$"'` xpos=$(( ( $xpos + $xmov + $npid ) % xmax )) ypos=$(( ( $ypos + $ymov + $npid ) % ymax )) # clear screen echo -e '\e[H\e[J\c' # move cursor echo -e '\e['"$ypos"';'"$xpos"'H\c' echo -n 'Alt+F1 to main screen' ypos=$(( $ypos + 1 )) echo -e '\e['"$ypos"';'"$xpos"'H\c' cat $STATEFIL sleep 3 done n[hfBXNc[uwipe-outvo[W 1.6 Copyright (C) 2016 by ܁ Ẽc[́AIy[eBOVXeɁuFreeBSDv𗘗pĂ܂B Ẽc[́A{R\[ukon2v𗘗pĂ܂B Ẽc[́A{tHgɁuςtHgv𗘗pĂ܂B Ej[\ɂ́AuFreeBSDv́udialog(1)vR}h𗘗pĂ܂B ȊOɂuFreeBSDvɕte\tgEFA𗘗pĂ܂B Ẽc[́AFreeBSD/i386삷Rs[^ŗpł܂B Ẽc[Ńf[^łn[hfBXNiXg[WfoCXj ̂ƂłB EFreeBSD 10.3R̃CXg[pJ[lň̂̂A ȉ̏𖞂 EJ[lɃfoCXhCogݍ܂ĂC^[tFCX ɐڑꂽn[hfBXNiXg[WfoCXj EATAfBXNRg[hCo ada(4) ň EʓIATA/IDEC^[tFCX̃n[hfBXN ESCSI_CNgANZXfoCXhCo da(4) ň EʓISCSIC^[tFCX̃n[hfBXN ESCSIRg[ɐڑꂽMOiCfBXNj ZN^TCY512oCĝ EFreeBSDňRAIDRg[iasr(4) Ȃǁj ڑꂽn[hfBXN EUSBJ[hA_v^ɐڑ etbVJ[hAUSBtbVȂǂ USBeʃXg[W Ê悤ȃXg[WfoCXɂ͑ΉĂ܂ EFreeBSD 10.3R̃CXg[pJ[lňȂ̂ u[gɐFłȂXg[WfoCX EFreeBSDňȂC^[tFCXɐڑꂽfBXN Eada(4) da(4) foCXhCoňȂ Ẽc[𗘗pA邢͗pȂƂɂĐ Ȃ錋ʂɂ‚ĂA҂͐ӔCؕ܂B n[hfBXNc[uwipe-outv version 1.6 ` ȒPŃn[hfBXÑf[^ ` Copyright (C) 2016 by Dai ISHIJIMA ͂߂ p\Ȑn⏈ɁAn[hfBXÑf[^ꂸ cĂ邱ƂŁAlƏȂǂRk邱Ƃ ƂȂĂ܂B ́un[hfBXNc[wwipe-outxvgƁAȒPɁA ˆSɁAn[hfBXNɋL^Ăf[^邱Ƃ ł܂B̃c[́An[hfBXNɃf[^㏑邱Ƃ āAL^Ăf[^܂B CD̒g CD̓u[^uCDłBp\RCDDVDhCuN 悤ɐݒ肵ACDNƁAuwipe-outv܂B fBXÑf[^ CDu[gƁÂ悤ȃj[ʂ\܂B n[hfBXN̖Oe (̗ł́u/dev/ad0 vu4,294,967,296 oCg (4.0G)v) ́Aۂɂg̃n[h fBXN̏񂪕\܂B +---------------- n[hfBXNc[wwipe-outx ----------------+ | Cj[ | | ݑI𒆂̃fBXN /dev/ad0 łB | | fBXN̗eʂ 4,294,967,296 oCg (4.0G) łB | | ȉ̃j[珈IĂB | | | | +------------------------------------------------------------------+ | | | z 0㏑āÃfBXÑf[^ | | | | h @̊Tv\ | | | | n ㏑āÃfBXÑf[^Oɏ | | | | m Ȍ㏑@I | | | | v f[^ꂽmF (^ꕔ`FbN) | | | | V f[^ꂽmF (ʏ^S`FbN) | | | | w OfBXNɏ | | | | L L^tbs[ɏo | | | +-----v(+)---------------------------------------------------------+ | | | +----------------------------------------------------------------------+ | [ OK ] Cancel | +----------------------------------------------------------------------+ ŁAn[hfBXN̖OeʂAf[^n[h fBXN̂̂ł邩ǂmFĂB̃n[hfBX Ñf[^ꍇ́Au0㏑āÃfBXÑf[ ^vnCCgĂԂŃG^[L[Ă (ȉȂuIvƏ̂܂)B ̃j[Łu0㏑āÃfBXÑf[^v IƁÂ悤ɊmFbZ[W\܂B fBXN ad0 Sf[^ 4,294,967,296 oCgA 0ŏ㏑ď܂B 낵ł? [ Yes ] No f[^ꍇ́AŁuYesvIĂBuYesv IƁAɂ‚Aȉ̊mFbZ[W\܂B {ad0 (4.0G) ̃f[^Ăł? [ Yes ] No f[^ꍇ́AēxuYesvIĂBuNov Iƍŏ̃j[ɖ߂܂BuYesvIƃf[^ ̏n܂܂B f[^̏́Â悤ɐi󋵂\܂B fBXN ad1 ̃f[^Ă܂B 25% (1024/4096) I ^ 21b o c 悻128b 0%|############______________________________________|100% ʂ̍ʼnsɂ́Â悤ɏݑx\܂B 33554432 bytes transferred in 1.307584 secs (25661396 bytes/sec) f[^̏ɗv鎞Ԃ́Ag̃n[hfBXN̗eʂp\ RɂĈقȂ܂Bn[hfBXN̗eʂAp\R x΁Aɗv鎞Ԃ͒ZȂ܂B f[^̏IƁA fBXÑf[^I܂ (230b) [OK] ƂbZ[W\܂BŁAG^[L[ƁA ̃j[ɖ߂܂B @ɂ‚ Cj[u@̊Tv\vIƁA Pȑ@̐\܂B ȊȎɂ‚ Cj[ŏ㉺J[\L[ƁAʂ̍ڂnCCg 邱Ƃł܂BCj[ɂ8‚̑I\ ܂񂪁A㉺J[\L[ƃXN[ɂAe푀상 j[\܂Bun[hfBXNc[wwipe-outxv ́Af[^ȊOɂAĂ邩ǂ̊mFAL^ ݁An[hfBXÑRs[AVF̋NAċNAVbg _EȂǂ̑상j[pӂĂ܂BȉɃCj[ Ił鑀̈ꗗ܂B E0㏑āÃfBXÑf[^ E@̊Tv\ E㏑āÃfBXÑf[^Oɏ EȌ㏑@I Ef[^ꂽmFi^ꕔ`FbNj Ef[^ꂽmFiʏ^S`FbNj EOfBXNɏ EL^tbs[ɏo Eʂ̃fBXNI EfBXÑf[^\ Ef[^\ZN^̎w Euwwipe-outxɂ‚āv EÑVXebZ[WmF EfBXNRs[i^obNAbvj EfBXNRs[iᑬ^f[^Tx[Wj E1㏑āÃfBXÑf[^ E_p^[㏑āÃfBXÑf[^ Ep^[̕␔㏑āÃfBXÑf[^ E_f[^㏑āÃfBXÑf[^ EL^\ EfBXN̎Ȑff (SMART) \ EVFishjN EVFicshjN ECD-ROMmount ECD-ROMumount EMBR *̂* EVbg_E EċN Ή@ɂ‚ E{c[́AFreeBSD/i386삷Rs[^ŗpł܂B E{c[Ńf[^łXg[WfoCX͎̂ƂłB EFreeBSD̃J[l (CXg[pCD̃J[l) ň ̂̂Aȉ̏𖞂 EATAfBXNRg[hCo (ada(4)) ň EʓIS-ATA/P-ATAC^[tFCX̃n[hfBXN EASSDhCu ESCSI_CNgANZXfoCXhCo (da(4)) ň EʓISCSIC^[tFCX̃n[hfBXN EFreeBSDňRAIDRg[ (asr(4)) Ȃǂɐڑ ꂽn[hfBXN EUSBJ[hA_v^ɐڑe탁J[hA USBtbVȂǂUSBeʃXg[W ada(4), da(4), asr(4) Ȃǂ̏ڍׂɂ‚ẮAFreeBSD̃}jA y[WȂǂB ̋L^̕ۑɂ‚ un[hfBXNc[wwipe-outxvł́A̋L^ۑ 邱Ƃł܂Bۑ”\ȃfBA̓tbs[fBXNUSB ȂǂłB̋L^ۑ郁fBA (tbs[USB ) ́A炩FATtH[}bgsAuWIPE-OUTvƂ ÕtH_[gfBNgɍ쐬ĂĂB Ƃ E{c[́AOSƂFreeBSD𗘗pĂ܂B E{c[̓t[EFAłB쌠́A҂ł ܁ ۗLĂ܂B E{c[𗘗pA邢͗pȂƂɂĐ Ȃ錋ʂɂ‚ĂA҂͐ӔCؕ܂B Ql EВc@l dqZpYƋ (http://www.jeita.or.jp/japanese/index.htm) up\R̔pEnɂn[hfBXÑf[^ Ɋւ闯ӎv(http://it.jeita.or.jp/perinfo/committee/ pc/JEITA_HDDdata100219F.pdf) {c[̓@ {c[юoíA҂̃EFuTCgŌJĂ܂BA hX http://hp.vector.co.jp/authors/VA004814/ łBKvɉ ă_E[hĂB n[hfBXNc[uwipe-outvv1.6 Copyright (C) 2016 by Dai ISHIJIMA AȂ̃t@Cuwipe-outvN}V Cj[猩邱ƂłƂ΁A]vȐ͕sv ܂B yCj[ł̑z Cj[ʂ̑̊{́A E㉺J[\L[ɂsڂI EG^[L[ɂIڂs łBIĂ鍀ڂ̓nCCg\Ă܂Buwipe- outvŃAu0㏑ācvnCCg\Ă ͂łB Cj[炱̉ʂ\ɂ́AJ[\L[ 񂾂AG^[L[܂Bʂɕ\Ȃ ́A㉺J[\L[xƁAXN[óà ܂B Ƃ΁ACj[ɂ́uċNvƂڂ ܂A͈ԉɉBĂ܂B\ɂ́Ax J[\L[Ă݂ĂB XN[ďɏĂڂ\ɂ́AJ[ \L[ĂB yfBXNɋL^ꂽɂ́z u0㏑ācv̂悤ȁAucvCj[ IAG^[L[ĂB uvsƁAmFʂ\܂B̂ƂA fBXŇ^ԂeʂȂǂ\̂ŁAfBXN 邩ǂmFĂB\ĂemF G^[L[ĂB ŏ̊mFʂŃG^[L[Aēx‚mF ʂłĂ܂B{ɏĂ悢ꍇɂ̂݃G^[L[ ĂB ڂ̊mFʂŃG^[L[Ən܂܂B AfBXN̏ɂ͐琔Ԓx̎Ԃ܂B ͂܂Ă΂炭ƁAc菊vԂ̗\l\ ܂B IAɂԂ\܂B G^[L[ƁACj[ɖ߂܂B ȂAuŏI邱Ƃ͂蓾Ȃ͂łB̏ ́A{\tguwipe-outṽoO܂Buf[^ ꂽmFvIŖ{ɏmFĂB yL^ۑɂ́z {\tguwipe-outv̋Ɗꂽꍇ́A Cj[uL^tbs[ɏovIł Bj[ɏĂƂAL^tbs[ L^ł܂B L^ۑ邱Ƃł̂́Atbs[ł͂ ܂BUSBȂǂ̃fBApł܂BȂA L^ۑtbs[iUSBjɂ́A炩 u\WIPE-OUT\vƂtH_쐬ĂĂB yCj[ɖ߂ɂ́z ̉ʂ‚ăCj[ɖ߂ɂ́AG^[L[ ĂB n[hfBXNc[uwipe-outvv1.3 Copyright (C) 2013 by Dai ISHIJIMA # termcap for wipeout # original copyright notice follows... # ------------------------------------------------------------ # # Copyright (c) 1980, 1985, 1989, 1993 # The Regents of the University of California. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by the University of # California, Berkeley and its contributors. # 4. Neither the name of the University nor the names of its contributors # may be used to endorse or promote products derived from this software # without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # @(#)termcap.src 8.2 (Berkeley) 11/17/93 # $FreeBSD: releng/9.3/share/termcap/termcap.src 267911 2014-06-26 11:02:51Z gavin $ # Termcap source file # John Kunze, Berkeley # Craig Leres, Berkeley # # Please submit changes via https://bugs.freebsd.org/submit/ # # ------------------------------------------------------------ # # # ------------------------------------------------------------ # # for syscons # common entry without semigraphics cons25w|ansiw|ansi80x25-raw:\ :am:bs:NP:ms:pt:AX:eo:bw:ut:km:\ :co#80:li#25:pa#64:Co#8:it#8:\ :al=\E[L:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ :dc=\E[P:dl=\E[M:do=\E[B:bt=\E[Z:ho=\E[H:ic=\E[@:cb=\E[1K:\ :nd=\E[C:rs=\Ec:so=\E[7m:se=\E[27m:up=\E[A:cr=^M:ta=^I:\ :AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m:sc=\E7:rc=\E8:\ :k1=\E[M:k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ :k9=\E[U:k;=\E[V:F1=\E[W:F2=\E[X:K2=\E[E:nw=\E[E:ec=\E[%dX:\ :kb=^H:kh=\E[H:ku=\E[A:kd=\E[B:kl=\E[D:kr=\E[C:le=^H:sf=\E[S:sr=\E[T:\ :kN=\E[G:kP=\E[I:@7=\E[F:kI=\E[L:kD=\177:kB=\E[Z:\ :IC=\E[%d@:DC=\E[%dP:SF=\E[%dS:SR=\E[%dT:AL=\E[%dL:DL=\E[%dM:\ :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:cv=\E[%i%dd:ch=\E[%i%d`:\ :mb=\E[5m:md=\E[1m:mr=\E[7m:me=\E[m:bl=^G:\ :ve=\E[=S:vi=\E[=1S:vs=\E[=2S: # CP437 FreeBSD console with ACS support cons25|ansis|ansi80x25:\ :ac=l\332m\300k\277j\331u\264t\303v\301w\302q\304x\263n\305`^Da\260f\370g\361~\371.^Y-^Xh\261i^U0\333y\363z\362:\ :tc=cons25w: # ------------------------------------------------------------ # xterm|X11 terminal emulator:\ :tc=xterm-new: # ------------------------------------------------------------ # xterm-new|modern xterm:\ :@7=\EOF:@8=\EOM:F1=\E[23~:F2=\E[24~:K2=\EOE:Km=\E[M:\ :k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\ :k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kI=\E[2~:\ :kN=\E[6~:kP=\E[5~:kd=\EOB:kh=\EOH:kl=\EOD:kr=\EOC:ku=\EOA:\ :tc=xterm-basic: # # This chunk is used for building the VT220/Sun/PC keyboard variants. xterm-basic|modern xterm common:\ :am:bs:km:mi:ms:ut:xn:AX:\ :Co#8:co#80:kn#12:li#24:pa#64:\ :AB=\E[4%dm:AF=\E[3%dm:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:\ :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:ae=\E(B:al=\E[L:\ :as=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ :cm=\E[%i%d;%dH:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:\ :ei=\E[4l:ho=\E[H:im=\E[4h:is=\E[!p\E[?3;4l\E[4l\E>:\ :kD=\E[3~:kb=^H:ke=\E[?1l\E>:ks=\E[?1h\E=:kB=\E[Z:le=^H:md=\E[1m:\ :me=\E[m:ml=\El:mr=\E[7m:mu=\Em:nd=\E[C:op=\E[39;49m:\ :rc=\E8:rs=\E[!p\E[?3;4l\E[4l\E>:sc=\E7:se=\E[27m:sf=^J:\ :so=\E[7m:sr=\EM:st=\EH:\ :ue=\E[24m:up=\E[A:us=\E[4m:ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?12;25h: # ------------------------------------------------------------ # vt100|dec-vt100|vt100-am|vt100am|dec vt100:\ :do=2\E[B:co#80:li#24:cl=50\E[H\E[J:sf=2*\ED:\ :le=^H:bs:am:cm=5\E[%i%d;%dH:nd=2\E[C:up=2\E[A:\ :ce=3\E[K:cd=50\E[J:so=2\E[7m:se=2\E[m:us=2\E[4m:ue=2\E[m:\ :md=2\E[1m:mr=2\E[7m:mb=2\E[5m:me=2\E[m:\ :is=\E>\E[?1;3;4;5l\E[?7;8h\E[1;24r\E[24;1H:\ :if=/usr/share/tabset/vt100:nw=2\EE:ho=\E[H:\ :as=2\E(0:ae=2\E(B:\ :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||:\ :rs=\E>\E[?1;3;4;5l\E[?7;8h:ks=\E[?1h\E=:ke=\E[?1l\E>:\ :ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=\177:\ :k0=\EOy:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\EOt:\ :k6=\EOu:k7=\EOv:k8=\EOl:k9=\EOw:k;=\EOx:@8=\EOM:\ :K1=\EOq:K2=\EOr:K3=\EOs:K4=\EOp:K5=\EOn:pt:sr=2*\EM:xn:\ :sc=2\E7:rc=2\E8:cs=5\E[%i%d;%dr:UP=2\E[%dA:DO=2\E[%dB:RI=2\E[%dC:\ :LE=2\E[%dD:ct=2\E[3g:st=2\EH:ta=^I:ms:bl=^G:cr=^M:eo:it#8:\ :RA=\E[?7l:SA=\E[?7h:po=\E[5i:pf=\E[4i: tvi925|925|televideo model 925:\ :hs:xn:am:bs:co#80:li#24:cm=\E=%+ %+ :cl=\E*:cd=\Ey:ce=\Et:is=\El\E":\ :al=\EE:dl=\ER:ic=\EQ:dc=\EW:if=/usr/share/tabset/stdcrt:\ :ho=^^:nd=^L:bt=\EI:pt:so=\EG4:se=\EG0:sg#1:us=\EG8:ue=\EG0:ug#1:\ :up=^K:do=^V:kb=^H:ku=^K:kd=^V:kl=^H:kr=^L:kh=^^:ma=^V^J^L :\ :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=^AF\r:\ :k8=^AG\r:k9=^AH\r:k0=^AI\r:ko=ic,dc,al,dl,cl,ce,cd,bt:\ :ts=\Ef:fs=^M\Eg:ds=\Eh:sr=\Ej: # ------------------------------------------------------------ # vt100-color|vt100-co|vt100 emulator with ANSI colors:\ :pa#64:Co#8:AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m\E[m:tc=vt100: # ------------------------------------------------------------ # kons25jx|kon3jx|jkons3jx|kons24-jis1983-j:as@:ae@:ac@:tc=vt100-color # ------------------------------------------------------------ # /* * disksize -- fBXÑWIg擾 * * revision history * diskinfo: * 0.0: Sep. 6, 2002 by Dai ISHIJIMA (Ƃ肠o[W) * 0.1: Oct. 21, 2002 * 0.2: Apr. 28, 2004 * 0.3: May 1, 2004 * 0.4: May 30, 2004 * 0.5: Jun. 19, 2004 * 0.6: Aug. 5, 2006 (ƏC) * 0.7: Aug. 12, 2006 (L̉P) * disksize: * 0.9: Sep. 12, 2007 (exit(3)̐錾, p[^擾@ύX) * 1.0: Oct. 2, 2007 (MoCgPʂł̕\) * * Ql: * fdisk(8) ̃\[X (/usr/src/sbin/i386/fdisk/fdisk.c) * wpout09ȍ~ (/usr/src/sbin/fdisk/fdisk.c), diskinfo(8) */ #include #include #include #include #include #define SHOW_CYLS 1 #define SHOW_HEAD 2 #define SHOW_SECS 4 #define SHOW_BYTES 8 #define SHOW_BYTES_WITH_UNITS 16 #define SHOW_BLOCKS 32 #define SHOW_BYTES_WITH_COMMA 64 #define SHOW_MEGABYTES 128 #define shift --argc; ++argv #define DFLT_DISK "/dev/ad0" #define EOS '\0' #define NEWLINE '\n' #ifndef BUFSIZ #define BUFSIZ 512 #endif #define MEGABYTES (1024 * 1024) /* l𕶎ɕϊ */ char *num2str(long long d, char *s) { int p; int q; int ch; p = 0; do { s[p] = '0' + (d % 10); ++p; d /= 10; } while (d > 0); s[p] = EOS; for (q = 0; q < p / 2; q++) { ch = s[q]; s[q] = s[p - q - 1]; s[p - q - 1] = ch; } return(s); } /* l𕶎ɕϊ */ char *num2commastr(long long d, char *s) { int p; int q; int n; int ch; p = 0; n = 0; do { if ((n > 0) && ((n % 3) == 0)) { s[p] = ','; ++p; } s[p] = '0' + (d % 10); ++p; ++n; d /= 10; } while (d > 0); s[p] = EOS; for (q = 0; q < p / 2; q++) { ch = s[q]; s[q] = s[p - q - 1]; s[p - q - 1] = ch; } return(s); } /* ꕶo */ void putch(int fd, unsigned char ch) { write(fd, &ch, 1); } /* o */ void myputs(int fd, char *s) { while (*s) { putch(fd, *s); ++s; } } int main(int argc, char *argv[]) { char *disk; char s[BUFSIZ]; int show; int fd; off_t mediasize, blocks; unsigned long secsiz, nsecs, nhead, ncyls; unsigned char units[] = { 'k', 'M', 'G', 'T', EOS }; int p; off_t m; int fraction; show = 0; shift; while ((argc > 0) && (argv[0][0] == '-')) { if (argv[0][1] == 'c') { show |= SHOW_CYLS; } else if (argv[0][1] == 'h') { show |= SHOW_HEAD; } else if (argv[0][1] == 's') { show |= SHOW_SECS; } else if (argv[0][1] == 'b') { show |= SHOW_BYTES; } else if (argv[0][1] == 'm') { /* MoCgPʂ */ show |= SHOW_MEGABYTES; } else if (argv[0][1] == 'B') { /* oCgR}؂ */ show |= SHOW_BYTES_WITH_COMMA; } else if (argv[0][1] == 'p') { /* KɒPʕtBk, M, G, etc. */ show |= SHOW_BYTES_WITH_UNITS; } else if (argv[0][1] == 'l') { show |= SHOW_BLOCKS; } else { myputs(STDERR_FILENO, "Usage: diskinfo [-chsbBpl] [device]\n"); exit(1); } shift; } if (show == 0) { show = SHOW_CYLS | SHOW_HEAD | SHOW_SECS; } if (argc > 0) { disk = *argv; } else { disk = DFLT_DISK; } if ((fd = open(disk, O_RDONLY)) < 0) { myputs(STDERR_FILENO, "diskinfo: unable to open disk "); myputs(STDERR_FILENO, disk); putch(STDERR_FILENO, NEWLINE); exit(1); } /* FreeBSD 5.1ȍ~炢Łuioctl(fd, DIOCGDINFO, &disklabel)v*/ /* gȂȂ? */ if (ioctl(fd, DIOCGSECTORSIZE, &secsiz) != 0) { myputs(STDERR_FILENO, "diskinfo: can't get sectorsize\n"); exit(1); } if (ioctl(fd, DIOCGMEDIASIZE, &mediasize) != 0) { myputs(STDERR_FILENO, "diskinfo: can't get mediasize\n"); exit(1); } if (ioctl(fd, DIOCGFWSECTORS, &nsecs) != 0) { myputs(STDERR_FILENO, "diskinfo: can't get number of sectors\n"); exit(1); } if (ioctl(fd, DIOCGFWHEADS, &nhead) != 0) { myputs(STDERR_FILENO, "diskinfo: can't get number of heads\n"); exit(1); } blocks = mediasize / secsiz; ncyls = mediasize / (secsiz * nhead * nsecs); if (show & SHOW_BLOCKS) { num2str(blocks, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } if (show & SHOW_BYTES) { num2str(mediasize, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } if (show & SHOW_MEGABYTES) { num2str((mediasize + MEGABYTES - 1) / MEGABYTES, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } if (show & SHOW_BYTES_WITH_COMMA) { num2commastr(mediasize, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } if (show & SHOW_BYTES_WITH_UNITS) { m = mediasize / 1024; p = 0; fraction = 0; while ((m > 1000) && (units[p] != EOS)) { fraction = ((m * 10) / 1024) % 10; m /= 1024; ++p; } num2str(m, s); myputs(STDOUT_FILENO, s); if (m < 10) { putch(STDOUT_FILENO, '.'); num2str(fraction, s); myputs(STDOUT_FILENO, s); } putch(STDOUT_FILENO, units[p]); putch(STDOUT_FILENO, NEWLINE); } if (show & SHOW_CYLS) { num2str(ncyls, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } if (show & SHOW_HEAD) { num2str(nhead, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } if (show & SHOW_SECS) { num2str(nsecs, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } exit(0); } /* Local Variables: */ /* compile-command:"cc -Wall -O -s -o disksize disksize.c" */ /* End: */ /* * stuff -- n[hfBXN̂߂̋lߕf[^쐬 * * revision history: * 0.0: Apr. 30, 2004 by Dai ISHIJIMA * 0.1: May 1, 2004 * 0.2: Jun. 28, 2006 (_p^[Ƃ̕␔) */ #include #include #include #include #include #define BSIZ 1024 #define STDIN 0 #define STDOUT 1 #define STDERR 2 #define NEWLINE '\n' #define ZERO 'z' #define FILL 'f' #define RAND 'r' #define GENERATE 'g' #define PATTERN 'p' #define INVERT 'q' #define shift --argc; ++argv #define swap(t,a,b) {t _swap_tmp; _swap_tmp=(a); a=b; b=_swap_tmp;} /* ꕶo */ void putch(int fd, unsigned char ch) { write(fd, &ch, 1); } /* o */ void myputs(int fd, char *s) { while (*s) { putch(fd, *s); ++s; } } /* Ńf[^܂ */ void stair(int len, unsigned char *buf) { int i, n; for (i = 0; i < len; i++) { n = random() & (len - 1); /* len 2^n Ɖ */ swap(unsigned char, buf[i], buf[n]); } } /* ݗpf[^̏ */ void init(int len, unsigned char *buf, int mode) { int i; if (mode == ZERO) { for (i = 0; i < len; i++) { buf[i] = 0; } } else if (mode == FILL) { for (i = 0; i < len; i++) { buf[i] = 0xff; } } else if ((mode == RAND) || (mode == GENERATE)) { srandom(time(NULL)); for (i = 0; i < len; i++) { buf[i] = i; } stair(len, buf); } else if (mode == PATTERN) { read(STDIN, buf, BSIZ); } else if (mode == INVERT) { read(STDIN, buf, BSIZ); for (i = 0; i < len; i++) { buf[i] = ~buf[i]; } } else { /* ɂ͗Ȃ͂ */ myputs(STDERR, "stuff: unknown mode: "); putch(STDERR, mode); putch(STDERR, NEWLINE); exit(1); } } /* R}hCwɊÂāA0, 1, _f[^o */ int main(int argc, char *argv[]) { int mode; unsigned char buf[BSIZ]; mode = ZERO; shift; while ((argc > 0) && (argv[0][0] == '-')) { if ((argv[0][1] == '0') || (argv[0][1] == 'z')) { /* 0 o */ mode = ZERO; } else if ((argv[0][1] == '1') || (argv[0][1] == 'f')) { /* 1 o */ mode = FILL; } else if ((argv[0][1] == 'R') || (argv[0][1] == 'r')) { /* _f[^o */ mode = RAND; } else if ((argv[0][1] == 'G') || (argv[0][1] == 'g')) { /* _p^[𐶐 */ mode = GENERATE; } else if ((argv[0][1] == 'P') || (argv[0][1] == 'p')) { /* p^[JԂo */ mode = PATTERN; } else if ((argv[0][1] == 'Q') || (argv[0][1] == 'q')) { /* p^[̕␔JԂo */ mode = INVERT; } else { myputs(STDERR, "Usage: stuff [-[01Rzfrgpq]]\n"); exit(1); } shift; } if (argc > 0) { myputs(STDERR, "Usage: stuff [-[01Rzfrgpq]]\n"); exit(1); } init(BSIZ, buf, mode); if (mode == GENERATE) { write(STDOUT, buf, BSIZ); } else { for (;;) { if (mode == RAND) { stair(BSIZ, buf); } write(STDOUT, buf, BSIZ); } } exit(0); } /* Local Variables: */ /* compile-command:"cc -Wall -O -s -static -o stuff stuff.c" */ /* End: */ /* * tinydate.c * */ #include #include #include #include #define USE_CTIME #define EOS '\0' #define NEWLINE '\n' #ifndef BUFSIZ #define BUFSIZ 512 #endif /* l𕶎ɕϊ */ char *num2str(long long d, char *s) { int p; int q; int ch; p = 0; do { s[p] = '0' + (d % 10); ++p; d /= 10; } while (d > 0); s[p] = EOS; for (q = 0; q < p / 2; q++) { ch = s[q]; s[q] = s[p - q - 1]; s[p - q - 1] = ch; } return(s); } /* ꕶo */ void putch(int fd, unsigned char ch) { write(fd, &ch, 1); } /* o */ void myputs(int fd, char *s) { while (*s) { putch(fd, *s); ++s; } } int main(int argc, char *argv[]) { char s[BUFSIZ]; time_t t; #ifdef USE_LOCALTIME struct tm *lt; #endif if ((argc > 1) && (argv[1][0] == '-')) { #ifdef USE_CTIME t = time(NULL); myputs(STDOUT_FILENO, ctime(&t)); #endif #ifdef USE_LOCALTIME t = time(NULL); lt = localtime(&t); num2str(lt->tm_year + 1900, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, '-'); num2str(lt->tm_mon + 1, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, '-'); num2str(lt->tm_mday, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, ' '); num2str(lt->tm_hour, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, ':'); num2str(lt->tm_min, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, ':'); num2str(lt->tm_sec, s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, ':'); #endif } else { num2str(time(NULL), s); myputs(STDOUT_FILENO, s); putch(STDOUT_FILENO, NEWLINE); } exit(0); } /* Local Variables: */ /* compile-command:"cc -Wall -O -s -static -o tinydate tinydate.c" */ /* End: */ /* * tinydump -- 512oCg16i_v * * revision history: * 0.0: Jul. 7, 2005 by Dai ISHIJIMA * 0.1: Sep. 12, 2007 (for wpout09, FreeBSD 6.2R) * 0.2: Apr. 18, 2009 (for wpout09, FreeBSD 7.1R, unsigned char) */ #include #include #include #include #include #define EOS '\0' #define BLKSIZ 512 #define NCOLS 16 /* l𕶎ɕϊ */ unsigned char *num2str(long long d, unsigned char *s) { int p; int q; int ch; p = 0; do { s[p] = '0' + (d % 10); ++p; d /= 10; } while (d > 0); s[p] = EOS; for (q = 0; q < p / 2; q++) { ch = s[q]; s[q] = s[p - q - 1]; s[p - q - 1] = ch; } return(s); } /* l𕶎ɕϊ */ unsigned char *num2hex(long long d, int cols, unsigned char *s) { int p; int q; int ch; p = 0; do { s[p] = '0' + (d % 16); if (s[p] > '9') { s[p] += ('a' - '9' - 1); } ++p; d /= 16; } while (d > 0); while (p < cols) { s[p] = '0'; ++p; } s[p] = EOS; /* Ђ肩 */ for (q = 0; q < p / 2; q++) { ch = s[q]; s[q] = s[p - q - 1]; s[p - q - 1] = ch; } return(s); } /* ꕶo */ void putch(int fd, unsigned char ch) { write(fd, &ch, 1); } /* o */ void myputs(int fd, unsigned char *s) { while (*s) { putch(fd, *s); ++s; } } int main() { unsigned char s[BLKSIZ]; unsigned char t[BLKSIZ]; int i, j; read(STDIN_FILENO, s, BLKSIZ); for (i = 0; i < BLKSIZ; i += NCOLS) { num2hex(i, 3, t); myputs(STDOUT_FILENO, t); myputs(STDOUT_FILENO, " "); for (j = 0; j < NCOLS; j++) { if (j == NCOLS / 2) { putch(STDOUT_FILENO, ' '); } num2hex(s[i + j], 2, t); myputs(STDOUT_FILENO, t); putch(STDOUT_FILENO, ' '); } myputs(STDOUT_FILENO, " "); for (j = 0; j < NCOLS; j++) { if ((0x20 < s[i + j]) && (s[i + j] < 0x7f)) { putch(STDOUT_FILENO, s[i + j]); } else { putch(STDOUT_FILENO, '.'); } } putch(STDOUT_FILENO, '\n'); } exit(0); } /* Local Variables: */ /* compile-command:"cc -Wall -O -s -static -o tinydump tinydump.c" */ /* End: */ /* * check -- f[^Ă邩ׂ * * revision history: * 0.0: Oct. 26, 2001 by Dai ISHIJIMA * 0.1: May 1, 2004 * 0.2: Jul. 7, 2005 * 0.3: Sep. 12, 2007 (for wpout09, FreeBSD 6.2R) */ #include #include #include #include #include #define YES 1 #define NO 0 #define EOS '\0' #ifndef BUFSIZ #define BUFSIZ 512 #endif #define ERROR 5 #define OK 0 #define ONE 1 #define NONZERO 2 #define shift --argc; ++argv /* l𕶎ɕϊ */ char *num2str(long long d, char *s) { int p; int q; int ch; p = 0; do { s[p] = '0' + (d % 10); ++p; d /= 10; } while (d > 0); s[p] = EOS; for (q = 0; q < p / 2; q++) { ch = s[q]; s[q] = s[p - q - 1]; s[p - q - 1] = ch; } return(s); } /* ꕶo */ void putch(int fd, unsigned char ch) { write(fd, &ch, 1); } /* o */ void myputs(int fd, char *s) { while (*s) { putch(fd, *s); ++s; } } int main(int argc, char *argv[]) { char s[BUFSIZ]; unsigned char buf[BUFSIZ]; unsigned char last; int n; int i, j; int verbose = YES; shift; while ((argc > 0) && (argv[0][0] == '-')) { if (argv[0][1] == 'v') { verbose = YES; } else if (argv[0][1] == 's') { verbose = NO; } else { myputs(STDERR_FILENO, "Usage: check [-v|-s]\n"); exit(1); } shift; } last = 0; i = 0; while ((n = read(STDIN_FILENO, buf, BUFSIZ)) > 0) { if ((i > 0) && (last != buf[0])) { if (verbose) { myputs(STDOUT_FILENO, "not erased at "); num2str(i, s); myputs(STDOUT_FILENO, s); myputs(STDOUT_FILENO, "\n"); } exit(ERROR); } ++i; for (j = 1; j < n; j++) { if (buf[j] != buf[j - 1]) { if (verbose) { myputs(STDOUT_FILENO, "not erased at "); num2str(i, s); myputs(STDOUT_FILENO, s); myputs(STDOUT_FILENO, "\n"); } exit(ERROR); } ++i; } last = buf[n - 1]; } if (verbose) { num2str(i, s); myputs(STDOUT_FILENO, s); } if (last == 0x00ff) { if (verbose) { myputs(STDOUT_FILENO, " bytes erased with 1\n"); } exit(ONE); } if (last != 0) { if (verbose) { myputs(STDOUT_FILENO, " bytes may be erased, but not zero\n"); } exit(NONZERO); } if (verbose) { myputs(STDOUT_FILENO, " bytes erased with 0\n"); } exit(0); } /* Local Variables: */ /* compile-command:"cc -Wall -O -static -o check check.c" */ /* End: */ /* * makembr -- O𖄂߂MBR𐶐 * * revision history: * 0.0: Aug. 1, 2006 by Dai ISHIJIMA (for wpout07) * 0.1: Sep. 12, 2007 (for wpout09, FreeBSD 6.2R) */ #include #include #include #include #define STDIN 0 #define STDOUT 1 #define STDERR 2 #ifndef EOF #define EOF -1 #endif #define NEWLINE '\n' #define CRET '\r' #define MBRSIZ 512 #define MESGLEN 398 #define TBLOFF 0x01be #define MESG (TBLOFF - MESGLEN) #define MAXLINE 50 /* ꕶ */ int getch(int fd) { unsigned char ch; if (read(fd, &ch, 1) <= 0) { return(EOF); } return(ch); } int main() { unsigned char mbrbuf[MBRSIZ]; int ch; int len; int pos; /* Ƃ肠512oCgǂ */ read(STDIN, mbrbuf, MBRSIZ); /* ̎炪ރO */ len = 0; pos = 0; while ((len < MESGLEN) && ((ch = getch(STDIN)) != EOF)) { if (ch == NEWLINE) { mbrbuf[MESG + len] = CRET; ++len; mbrbuf[MESG + len] = NEWLINE; ++len; pos = 0; } else if (pos < MAXLINE) { mbrbuf[MESG + len] = ch; ++len; ++pos; } else if (pos == MAXLINE) { mbrbuf[MESG + len] = '.'; ++len; ++pos; mbrbuf[MESG + len] = '.'; ++len; ++pos; mbrbuf[MESG + len] = '.'; ++len; ++pos; } } if (len < MESGLEN) { mbrbuf[MESG + len] = 0; } write(STDOUT, mbrbuf, MBRSIZ); exit(0); } /* Local Variables: */ /* compile-command:"cc -Wall -O -s -static -o makembr makembr.c" */ /* End: */ # # wpout-mbr -- n[hfBXNL^\ # ## 0.0: Jul. 24, 2006 by Dai ISHIJIMA (for wpout07) ## 0.1: Sep. 12, 2007 (for wpout09, FreeBSD 6.2R) # # 16rbgpR[h𐶐 .code16 .arch i8086 .set START, 0x0000 .set LOAD, 0x7c00 # vO[hꏊ .set TBLOFF, 0x01be # p[eBVe[u .set BOOTMAGIC, 0xAA55 # u[gZN^}WbNio[ .set MESGLEN, 398 # ێ郁bZ[W̒ .set PARTBL, START + TBLOFF .set MESG, START + TBLOFF - MESGLEN .set MESGADDR, LOAD + TBLOFF - MESGLEN .set VIDEOBIOS, 0x10 # rfIBIOS (INT 10H) .set PUTCHAR, 0x0e # (e^Cv) o .set VIDEOATTR, 7 # rfIBIOSɓnAgr[gp[^ .set KEYBIOS, 0x16 # L[{[hBIOS .set GETCHAR, 0x00 # ꕶ .set RETKEY, 0x0d # G^[L[ .globl start start: # Ƃ肠荞݂֎~ cli # X^bN 0000:7c00 ɐݒ xorw %ax, %ax movw %ax, %ss movw $LOAD, %sp # ZOgWX^ 0000 ɁBCS ͕ύXsv?? push %ax pop %ds push %ax pop %es # Ŋ荞݂ sti # ̃vO炳Ƀu[gXgbvǂ񂾂͂Ȃ̂ŁA # vOP[gƂ͂Ȃ main: # bZ[W\ movw $MESGADDR, %si disp: # ASCIZꕶBIOSR[ŕ\ lodsb # ꕶo testb %al, %al # NULLȂ\I jz keywait # ̕\IL[͑҂ push %si movw $VIDEOATTR, %bx movb $PUTCHAR, %ah int $VIDEOBIOS # rfIBIOSR[ĕ\ pop %si jmp disp keywait: # L[{[ĥ҂ movb $GETCHAR, %ah int $KEYBIOS cmpb $RETKEY, %al jnz keywait # Zbg FFFF:0000 ɃWv(?) ljmp $0xFFFF,$0x0000 # \郁bZ[W .org MESG mesg: # ̋Lu̓e͂킢ՂŏꂽȂ :-) .ascii "The contents of this storage device \r\n" .ascii "may have been erased \r\n" .ascii "with hard disk wiping tool " .ascii "``wipe-out''.\r\n" .ascii "ABSOLUTELY NO WARRANTY.\r\n" .byte 0 # ̃p[eBVe[uƃ}WbN .org PARTBL ptable: .fill 0x10, 0x04, 0x00 .word BOOTMAGIC # # AZu@ # as -o wpout-mbr.o wpout-mbr.s # ld -N -e start -Ttext 0 -o wpout-mbr.out wpout-mbr.o # objcopy -S -O binary wpout-mbr.out wpout-mbr.boot # rm wpout-mbr.o wpout-mbr.out # # ܂ /* * shell-on -- w肵ttyŃVFN * * 0.0: May 5, 2014 by Dai ISHIJIMA * * usage: * shell-on tty [command [args]...] * * see also: * /usr/src/usr.sbin/sysinstall/system.c */ #include #include #include #include #include #include /* login_tty(3), -lutil */ #include #include int main(int argc, char *argv[]) { int pid; char *tty; int fd; int i; char *prog; char *shell; char **args; prog = argv[0]; if (argc <= 1) { fprintf(stderr, "Usage: %s tty [command [arg]...]\n", prog); exit(1); } tty = argv[1]; if ((fd = open(tty, O_RDWR)) < 0) { fprintf(stderr, "%s: can't open %s\n", prog, tty); exit(1); } close(fd); args = (char **)calloc(argc, sizeof(char *)); if (argc <= 2) { /* IvVȂVF */ shell = "sh"; args[0] = "-sh"; args[1] = NULL; } else { shell = argv[2]; for (i = 0; i < argc - 2; i++) { args[i] = argv[2 + i]; } args[i] = NULL; } #ifdef EBUG fprintf(stderr, "%s: tty = %s, shell = %s\n", prog, tty, shell); i = 0; while (args[i] != NULL) { fprintf(stderr, "%s\n", args[i]); ++i; } #endif if ((pid = fork()) == 0) { /* q */ int cfd; int fd; struct termios t; ioctl(0, TIOCNOTTY, NULL); for (cfd = 0; cfd < getdtablesize(); cfd++) { close(cfd); } if ((fd = open(tty, O_RDWR)) < 0) { exit(1); } ioctl(0, TIOCSCTTY, &fd); dup2(0, 1); dup2(0, 2); if (login_tty(fd) < 0) { exit(1); } signal(SIGTTOU, SIG_IGN); if (tcgetattr(fd, &t) < 0) { fprintf(stderr, "unable to get terminal attributes\n"); } else { t.c_cc[VERASE] = '\010'; if (tcsetattr(fd, TCSANOW, &t) < 0) { fprintf(stderr, "unable to set terminal attributes\n"); } } execvp(shell, args); fprintf(stderr, "unable to execute sh\n"); exit(1); } exit(0); } /* Local Variables: */ /* compile-command:"cc -Wall -o shell-on shell-on.c -lutil" */ /* End: */ /* * tread -- read with timeout * * revision history * 0.1: Dec. 8, 2016 by Dai ISHIJIMA */ #include #include #include #include #include #include #include #include #include #include #define YES 1 #define NO 0 char *prog; #define shift --argc; ++argv static struct termios keyorg, keynew; /* L[{[h (stdin) ̏Ԃێ */ /* L[{[h (stdin) uv[hAGR[Ȃ */ void kbdinit(int echo) { if (isatty(fileno(stdin))) { tcgetattr(fileno(stdin), &keyorg); memcpy(&keynew, &keyorg, sizeof(struct termios)); cfmakeraw(&keynew); /* keynew.c_lflag &= ~ECHO; */ if (echo > 0) { /* -e ̐ -> GR[ */ keynew.c_lflag |= ECHO; } if (echo < 0) { /* -e ̐ -> GR[Ȃ */ keynew.c_lflag &= ~ECHO; } tcsetattr(fileno(stdin), TCSANOW, &keynew); } } /* L[{[h (stdin) ̐ݒɖ߂ */ void kbdrestore() { if (isatty(fileno(stdin))) { tcsetattr(fileno(stdin), TCSANOW, &keyorg); } } /* ͂܂ő҂ */ int waitfor(long seconds, int echo) { int nfds; fd_set readfds; struct timeval timeout; int status = 0; kbdinit(echo); FD_ZERO(&readfds); FD_SET(fileno(stdin), &readfds); timeout.tv_sec = seconds; timeout.tv_usec = 0; nfds = select(fileno(stdin) + 1, &readfds, NULL, NULL, &timeout); if ((nfds < 0) && (errno != EINTR)) { fprintf(stderr, "%s: select failed\n", prog); status = -1; } if ((nfds > 0) && (FD_ISSET(fileno(stdin), &readfds))) { /* L[{[h͂ */ status = 1; } kbdrestore(); return(status); } /* g̊ȈՐ */ void usage() { fprintf(stderr, "Usage: %s [option...]\n", prog); fprintf(stderr, " options:\n"); fprintf(stderr, "\t-t #: set timeout\n"); fprintf(stderr, "\t-p #: set prompt\n"); fprintf(stderr, "\t-e #: set echo mode\n"); } /* C */ int main(int argc, char *argv[]) { long seconds=10; char value[BUFSIZ]; char prompt[BUFSIZ]; int echo = 0; prog = *argv; shift; prompt[0] = '\0'; while ((argc > 0) && (argv[0][0] == '-')) { if ((argv[0][1] == 't') && (argc > 1)) { /* ^CAEg */ shift; seconds = atoi(*argv); } else if ((argv[0][1] == 'p') && (argc > 1)) { /* vvg */ shift; strncpy(prompt, *argv, BUFSIZ); } else if ((argv[0][1] == 'e') && (argc > 1)) { /* ECHO */ shift; echo = atoi(*argv); } else { usage(); exit(1); } shift; } fputs(prompt, stderr); if (waitfor(seconds, echo) > 0) { fgets(value, BUFSIZ, stdin); fputs(value, stdout); exit(0); } exit(1); } /* Local Variables: */ /* compile-command:"cc -Wall -o tread tread.c" */ /* End: */ <fjQPS1Pjf1ɎَѼ|}r,`|uuƀrIᾢ}K1҉ .w ޿)Itduddu`PDL Zs*}}0r4u.t"rURAZrUu tBRZrˀ?tfFRff1fC0fZf=w@(f8r^P[s Ot0FsF ^(FwReadBoot error PUWEVamnesiac= !WEV BTX 1мfjf^3GG^╬s uU}EEEfh (֕Е @"ꌐ1ɱѱ8ٺ6 -)б3QPhj+5 QQQQRja %"1".Еf юَH" 1Ўػpܕtr4!PP 栈!桰!桰!XX!j4j0j,j(j$j jj j j j j j j4$D$`f|$Dut$Pt$PjWM^d$a<$t<$u D$ud$π j>j :j 6j 2j .j *j&j"jpjqjrjsjtju jvjwj`jt$D%]Fu,^+]B^u%1҉] j"uT$0taf] ]~Vq^^]6]]f "1؎ܕfffffa]ϼ]f`ffffffhf1؎֕Е @"k1ɱюَ%]t$D%͕8ك=]tM~V]3 ]y5]ʹ^t]%fFaσuD$ `X6 tŰ=VtfvtatJCPu fu6 ЖFt -t t  u^ u pPXPX$< i/ u`1ɴPf 8cuf1< tPЀfBPr0ƀrf PffajE#ƃED$<>PK=>uE 8u+ L$$4Bt xE 8t8t&C9rFFb3C 1Ƀt>t$4"1L$t1 ^_[]D$E$41USWV,ˉDž T$5@5D$ =9t|$t$lE9-5@5  [ @5 @`hE=Tu<@=s$C=Tu-53C3 C to*<@==_~9t$|$ @`1t$9=lE @ <@ 1D$ hE=@1҉@ЁTt (@!$@@ p@ u1҉D$1ҋ|$t$ <1ҋt$=hETuʸ>ʸ ?5lE>|ExEtEpE=hET>t?D$5>)9r؅ʼn$l$ \@#5DE w=hETuX >X@H 9tф: <@ =hETu(=>'? |?L$ D$$?=?|$ \$$ED$1L$ p@ uڻuÃ|E1Ћ xE1 t&׹D$ R xE=|EL$I#L$=hETu&D$ D$(\D$(D$ D$$D$ ȹD$ 6D$ |$$ p@1 uuЉ ÃL$ wM \@1 uu9T$tȄtDE#D$LE#X@<@)=l$wơpE1؋ tE3L$ t# D$uMpED$tE)9w|$t$0މt$5>)݉5>u,$,^_[]St IR@u[USWV 5G999Bـr tۉuOGπr t uw-D$$x4xPtnSu(X1҃ sk GXЃ rf1ҀDt1҃ :4Ru犊 51H눸+Hq4] H u4Iu55H uG @456E](u8:uE Ѓ 6451=55|{%45mL$)Ճ*1ۋ,4:muJ:Mt CuH5jЉ-L5z, JP5z,u р P5wbрy)uWʊ  Q5wED$tŃ%D59)׉y1 ^_[]USWVPt$D$$<%u6Fut5sue$H $(EtsEEEu`FU$H $9k )0 Mmw9cu$H $EYM9s\^_[]WVPHu31Au l+Ht)ȃ6r1^_USWV\9ÅT$(44D$(f= #l$<5H)>|$,؉9iT$,)|$0؉g9A=>C9D$$4))\$ < |$)Ef|$*LFD$D>D$$f|$T>tJ1ۉ= D$ =L$T9} G|#^-H)F>>D$ 9ZD$$@D$$ ~(>%)áHأ5D$XP9uiL$Hk(D(>4>PD$ P1H>ESE>}D$ 9E\F(|ʽ#l$@H5H 9 `5 D5 5c # HH555P5=L5Q5 ށ\5D$L$,$t$D$D$D$ D$4$4\^_[]Vƃ u ^WVP1Huw45t"HHH@t45t Wu1t4u+HHsH t^_S45t&H HH 45t[USWV׉À=9^L$-@5@T51ҹr] P5wBAl$ 1Ȁ:ujx<w Ex t Er܀uP5l$ ȍAt<tLyAT5T5B>WEV@WEVuu=X5uf@u H5X5Q5@9sa@tT@T5T+@T5L$D$40=Q5L$u=T5؉-#D$4D$4$4X^_[]SWVω։H u9595D$$4HH%HH5HHH =D5=HHHt#Hĉt$D$$41^_[ÐPfXffBB1ɵ)tPf1ɵ@ tXtf1$/boot/config/boot.config%s: %s/boot/loader/boot/kernel/kernel FreeBSD/x86 boot Default: %u:%s(%u,%c)%s boot: yesnoKeyboard: %s No %s Invalid %s format addafdslicelabelpartition%cerror %u lba %u %s: not a directory. %s 444DhaCcdgmnpqrsv   %/|\- (h ՒiX 8/mntps`spsrPiTR֒iXrh@@ՒiXxT (h ՒiX 8rP ՒiXrh@@xTU ֒iX p(T 4֒iX|}(AAՒiX֒iX֒iXӒiX!$!$c pAՒiXՒiXՒiXՒiXx$5ՒiXӒiXՒiXӒiX@Omi_ՒiXӒiXՒiXӒiX`dQ~fk# ՒiXӒiXՒiXӒiX82ʼl@ ՒiXӒiXՒiXӒiXHϖhoՒiXӒiXՒiXӒiX(zDqf 9.R嘖Md,^,[2_WF@؛N&l2R}"v3+Sp~:&Em.y;@|fnj\r 69"j5VdvkP9<CP~ XeRDlY.R!`v~q>+ absE 2|)0hڧ Jx%7: ˑEAizΗ|.6jBۂ3:?ykjH_8t7;I]%^o^jN#I|3yx6@Oձ{ "By D^6{KU_4^Zg_kdcdQ0 Ī>oםhD[{3t,ng .kےcB_Wzq-8{0:X47Avie;#ñjmeXURFPu&ջ7G^,M(](Rw 7Yy)IzS "})R*p$UZe|@I.oI&Y)< 1^]͢ %/n%Br)AV]G}s)+ε#ϾUza̲Ib(@:{@|xE21,*n41@a^Pff>=d{֊Rz$idtN'B6]_I$NL3al$-0:(ؒ^^# *$JYt寬/ڭ[l|]9ɓ7B=aHz+}&__҅,%ЫQ9%BKp9jϳye6q2vr3skkFljᮈ7QVk* d)# $FreeBSD: releng/10.3/COPYRIGHT 292984 2015-12-31 11:23:39Z bz $ # @(#)COPYRIGHT 8.2 (Berkeley) 3/21/94 The compilation of software known as FreeBSD is distributed under the following terms: Copyright (c) 1992-2016 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The 4.4BSD and 4.4BSD-Lite software is distributed under the following terms: All of the documentation and software included in the 4.4BSD and 4.4BSD-Lite Releases is copyrighted by The Regents of the University of California. Copyright 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the University of California, Berkeley and its contributors. 4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The Institute of Electrical and Electronics Engineers and the American National Standards Committee X3, on Information Processing Systems have given us permission to reprint portions of their documentation. In the following statement, the phrase ``this text'' refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the second BSD Networking Software Release, from IEEE Std 1003.1-1988, IEEE Standard Portable Operating System Interface for Computer Environments (POSIX), copyright C 1988 by the Institute of Electrical and Electronics Engineers, Inc. In the event of any discrepancy between these versions and the original IEEE Standard, the original IEEE Standard is the referee document. In the following statement, the phrase ``This material'' refers to portions of the system documentation. This material is reproduced with permission from American National Standards Committee X3, on Information Processing Systems. Computer and Business Equipment Manufacturers Association (CBEMA), 311 First St., NW, Suite 500, Washington, DC 20001-2178. The developmental work of Programming Language C was completed by the X3J11 Technical Committee. The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the Regents of the University of California. NOTE: The copyright of UC Berkeley's Berkeley Software Distribution ("BSD") source has been updated. The copyright addendum may be found at ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change and is included below. July 22, 1999 To All Licensees, Distributors of Any Version of BSD: As you know, certain of the Berkeley Software Distribution ("BSD") source code files require that further distributions of products containing all or portions of the software, acknowledge within their advertising materials that such products contain software developed by UC Berkeley and its contributors. Specifically, the provision reads: " * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors." Effective immediately, licensees and distributors are no longer required to include the acknowledgement within advertising materials. Accordingly, the foregoing paragraph of those BSD Unix files containing it is hereby deleted in its entirety. William Hoskins Director, Office of Technology Licensing University of California, Berkeley n[hfBXNc[uwipe-outvo[W 1.6 Copyright (C) 2016 by ܁ Ẽc[́AIy[eBOVXeɁuFreeBSDv𗘗pĂ܂B Ẽc[́A{R\[ukon2v𗘗pĂ܂B Ẽc[́A{tHgɁuςtHgv𗘗pĂ܂B Ej[\ɂ́AuFreeBSDv́udialog(1)vR}h𗘗pĂ܂B ȊOɂuFreeBSDvɕte\tgEFA𗘗pĂ܂B Ẽc[́AFreeBSD/i386삷Rs[^ŗpł܂B Ẽc[Ńf[^łn[hfBXNiXg[WfoCXj ̂ƂłB EFreeBSD 10.3R̃CXg[pJ[lň̂̂A ȉ̏𖞂 EJ[lɃfoCXhCogݍ܂ĂC^[tFCX ɐڑꂽn[hfBXNiXg[WfoCXj EATAfBXNRg[hCo ada(4) ň EʓIATA/IDEC^[tFCX̃n[hfBXN ESCSI_CNgANZXfoCXhCo da(4) ň EʓISCSIC^[tFCX̃n[hfBXN ESCSIRg[ɐڑꂽMOiCfBXNj ZN^TCY512oCĝ EFreeBSDňRAIDRg[iasr(4) Ȃǁj ڑꂽn[hfBXN EUSBJ[hA_v^ɐڑ etbVJ[hAUSBtbVȂǂ USBeʃXg[W Ê悤ȃXg[WfoCXɂ͑ΉĂ܂ EFreeBSD 10.3R̃CXg[pJ[lňȂ̂ u[gɐFłȂXg[WfoCX EFreeBSDňȂC^[tFCXɐڑꂽfBXN Eada(4) da(4) foCXhCoňȂ Ẽc[𗘗pA邢͗pȂƂɂĐ Ȃ錋ʂɂ‚ĂA҂͐ӔCؕ܂B n[hfBXNc[uwipe-outv version 1.6 ` ȒPŃn[hfBXÑf[^ ` Copyright (C) 2016 by Dai ISHIJIMA ͂߂ p\Ȑn⏈ɁAn[hfBXÑf[^ꂸ cĂ邱ƂŁAlƏȂǂRk邱Ƃ ƂȂĂ܂B ́un[hfBXNc[wwipe-outxvgƁAȒPɁA ˆSɁAn[hfBXNɋL^Ăf[^邱Ƃ ł܂B̃c[́An[hfBXNɃf[^㏑邱Ƃ āAL^Ăf[^܂B CD̒g CD̓u[^uCDłBp\RCDDVDhCuN 悤ɐݒ肵ACDNƁAuwipe-outv܂B fBXÑf[^ CDu[gƁÂ悤ȃj[ʂ\܂B n[hfBXN̖Oe (̗ł́u/dev/ad0 vu4,294,967,296 oCg (4.0G)v) ́Aۂɂg̃n[h fBXN̏񂪕\܂B +---------------- n[hfBXNc[wwipe-outx ----------------+ | Cj[ | | ݑI𒆂̃fBXN /dev/ad0 łB | | fBXN̗eʂ 4,294,967,296 oCg (4.0G) łB | | ȉ̃j[珈IĂB | | | | +------------------------------------------------------------------+ | | | z 0㏑āÃfBXÑf[^ | | | | h @̊Tv\ | | | | n ㏑āÃfBXÑf[^Oɏ | | | | m Ȍ㏑@I | | | | v f[^ꂽmF (^ꕔ`FbN) | | | | V f[^ꂽmF (ʏ^S`FbN) | | | | w OfBXNɏ | | | | L L^tbs[ɏo | | | +-----v(+)---------------------------------------------------------+ | | | +----------------------------------------------------------------------+ | [ OK ] Cancel | +----------------------------------------------------------------------+ ŁAn[hfBXN̖OeʂAf[^n[h fBXN̂̂ł邩ǂmFĂB̃n[hfBX Ñf[^ꍇ́Au0㏑āÃfBXÑf[ ^vnCCgĂԂŃG^[L[Ă (ȉȂuIvƏ̂܂)B ̃j[Łu0㏑āÃfBXÑf[^v IƁÂ悤ɊmFbZ[W\܂B fBXN ad0 Sf[^ 4,294,967,296 oCgA 0ŏ㏑ď܂B 낵ł? [ Yes ] No f[^ꍇ́AŁuYesvIĂBuYesv IƁAɂ‚Aȉ̊mFbZ[W\܂B {ad0 (4.0G) ̃f[^Ăł? [ Yes ] No f[^ꍇ́AēxuYesvIĂBuNov Iƍŏ̃j[ɖ߂܂BuYesvIƃf[^ ̏n܂܂B f[^̏́Â悤ɐi󋵂\܂B fBXN ad1 ̃f[^Ă܂B 25% (1024/4096) I ^ 21b o c 悻128b 0%|############______________________________________|100% ʂ̍ʼnsɂ́Â悤ɏݑx\܂B 33554432 bytes transferred in 1.307584 secs (25661396 bytes/sec) f[^̏ɗv鎞Ԃ́Ag̃n[hfBXN̗eʂp\ RɂĈقȂ܂Bn[hfBXN̗eʂAp\R x΁Aɗv鎞Ԃ͒ZȂ܂B f[^̏IƁA fBXÑf[^I܂ (230b) [OK] ƂbZ[W\܂BŁAG^[L[ƁA ̃j[ɖ߂܂B @ɂ‚ Cj[u@̊Tv\vIƁA Pȑ@̐\܂B ȊȎɂ‚ Cj[ŏ㉺J[\L[ƁAʂ̍ڂnCCg 邱Ƃł܂BCj[ɂ8‚̑I\ ܂񂪁A㉺J[\L[ƃXN[ɂAe푀상 j[\܂Bun[hfBXNc[wwipe-outxv ́Af[^ȊOɂAĂ邩ǂ̊mFAL^ ݁An[hfBXÑRs[AVF̋NAċNAVbg _EȂǂ̑상j[pӂĂ܂BȉɃCj[ Ił鑀̈ꗗ܂B E0㏑āÃfBXÑf[^ E@̊Tv\ E㏑āÃfBXÑf[^Oɏ EȌ㏑@I Ef[^ꂽmFi^ꕔ`FbNj Ef[^ꂽmFiʏ^S`FbNj EOfBXNɏ EL^tbs[ɏo Eʂ̃fBXNI EfBXÑf[^\ Ef[^\ZN^̎w Euwwipe-outxɂ‚āv EÑVXebZ[WmF EfBXNRs[i^obNAbvj EfBXNRs[iᑬ^f[^Tx[Wj E1㏑āÃfBXÑf[^ E_p^[㏑āÃfBXÑf[^ Ep^[̕␔㏑āÃfBXÑf[^ E_f[^㏑āÃfBXÑf[^ EL^\ EfBXN̎Ȑff (SMART) \ EVFishjN EVFicshjN ECD-ROMmount ECD-ROMumount EMBR *̂* EVbg_E EċN Ή@ɂ‚ E{c[́AFreeBSD/i386삷Rs[^ŗpł܂B E{c[Ńf[^łXg[WfoCX͎̂ƂłB EFreeBSD̃J[l (CXg[pCD̃J[l) ň ̂̂Aȉ̏𖞂 EATAfBXNRg[hCo (ada(4)) ň EʓIS-ATA/P-ATAC^[tFCX̃n[hfBXN EASSDhCu ESCSI_CNgANZXfoCXhCo (da(4)) ň EʓISCSIC^[tFCX̃n[hfBXN EFreeBSDňRAIDRg[ (asr(4)) Ȃǂɐڑ ꂽn[hfBXN EUSBJ[hA_v^ɐڑe탁J[hA USBtbVȂǂUSBeʃXg[W ada(4), da(4), asr(4) Ȃǂ̏ڍׂɂ‚ẮAFreeBSD̃}jA y[WȂǂB ̋L^̕ۑɂ‚ un[hfBXNc[wwipe-outxvł́A̋L^ۑ 邱Ƃł܂Bۑ”\ȃfBA̓tbs[fBXNUSB ȂǂłB̋L^ۑ郁fBA (tbs[USB ) ́A炩FATtH[}bgsAuWIPE-OUTvƂ ÕtH_[gfBNgɍ쐬ĂĂB Ƃ E{c[́AOSƂFreeBSD𗘗pĂ܂B E{c[̓t[EFAłB쌠́A҂ł ܁ ۗLĂ܂B E{c[𗘗pA邢͗pȂƂɂĐ Ȃ錋ʂɂ‚ĂA҂͐ӔCؕ܂B Ql EВc@l dqZpYƋ (http://www.jeita.or.jp/japanese/index.htm) up\R̔pEnɂn[hfBXÑf[^ Ɋւ闯ӎv(http://it.jeita.or.jp/perinfo/committee/ pc/JEITA_HDDdata100219F.pdf) {c[̓@ {c[юoíA҂̃EFuTCgŌJĂ܂BA hX http://hp.vector.co.jp/authors/VA004814/ łBKvɉ ă_E[hĂB n[hfBXNc[uwipe-outvv1.6 Copyright (C) 2016 by Dai ISHIJIMA AȂ̃t@Cuwipe-outvN}V Cj[猩邱ƂłƂ΁A]vȐ͕sv ܂B yCj[ł̑z Cj[ʂ̑̊{́A E㉺J[\L[ɂsڂI EG^[L[ɂIڂs łBIĂ鍀ڂ̓nCCg\Ă܂Buwipe- outvŃAu0㏑ācvnCCg\Ă ͂łB Cj[炱̉ʂ\ɂ́AJ[\L[ 񂾂AG^[L[܂Bʂɕ\Ȃ ́A㉺J[\L[xƁAXN[óà ܂B Ƃ΁ACj[ɂ́uċNvƂڂ ܂A͈ԉɉBĂ܂B\ɂ́Ax J[\L[Ă݂ĂB XN[ďɏĂڂ\ɂ́AJ[ \L[ĂB yfBXNɋL^ꂽɂ́z u0㏑ācv̂悤ȁAucvCj[ IAG^[L[ĂB uvsƁAmFʂ\܂B̂ƂA fBXŇ^ԂeʂȂǂ\̂ŁAfBXN 邩ǂmFĂB\ĂemF G^[L[ĂB ŏ̊mFʂŃG^[L[Aēx‚mF ʂłĂ܂B{ɏĂ悢ꍇɂ̂݃G^[L[ ĂB ڂ̊mFʂŃG^[L[Ən܂܂B AfBXN̏ɂ͐琔Ԓx̎Ԃ܂B ͂܂Ă΂炭ƁAc菊vԂ̗\l\ ܂B IAɂԂ\܂B G^[L[ƁACj[ɖ߂܂B ȂAuŏI邱Ƃ͂蓾Ȃ͂łB̏ ́A{\tguwipe-outṽoO܂Buf[^ ꂽmFvIŖ{ɏmFĂB yL^ۑɂ́z {\tguwipe-outv̋Ɗꂽꍇ́A Cj[uL^tbs[ɏovIł Bj[ɏĂƂAL^tbs[ L^ł܂B L^ۑ邱Ƃł̂́Atbs[ł͂ ܂BUSBȂǂ̃fBApł܂BȂA L^ۑtbs[iUSBjɂ́A炩 u\WIPE-OUT\vƂtH_쐬ĂĂB yCj[ɖ߂ɂ́z ̉ʂ‚ăCj[ɖ߂ɂ́AG^[L[ ĂB n[hfBXNc[uwipe-outvv1.3 Copyright (C) 2013 by Dai ISHIJIMA  . ...snapboot COPYRIGHT; srcinfo.txt; readme.txthelp.txt; version.txtXsjisrP ՒiXrh@@xTWIPE-OUT-16T_000 (2017-01-02)  RN MQ N-`YsPX(V2`G++v `T =VB, =RQ 1eDx,-PJ0CL,502pF'Lv v6GXm} O a s  Lf   /usr/src/sys/modules/ips/../../dev/ips/ips.cM_IPSBUF_init_sys_initM_IPSBUF_uninit_sys_uninit__set_sysinit_set_sym_M_IPSBUF_init_sys_init__set_sysuninit_set_sym_M_IPSBUF_uninit_sys_uninitips_adapter_nameips_cdevswips_closeips_cmd_dmaloadips_cmdqueue_freeips_cmdqueue_initips_copperhead_queue_callbackips_diskdev_statename.statebufips_ioctlips_openips_timeout/usr/src/sys/modules/ips/../../dev/ips/ips_pci.c__set_modmetadata_set_sym__mod_metadata_md_ips_pci__set_modmetadata_set_sym__mod_metadata_md_ips_pci_on_kernel__set_sysinit_set_sym_ips_pcimodule_sys_init_ips_pci_depend_on_kernel_mod_metadata_md_ips_pci_mod_metadata_md_ips_pci_on_kernelips_devclassips_driver_methodsips_intrhookips_pci_attachips_pci_detachips_pci_driverips_pci_driver_modips_pci_freeips_pci_modips_pci_probeips_pci_shutdownips_pcimodule_sys_init/usr/src/sys/modules/ips/../../dev/ips/ips_disk.c__set_modmetadata_set_sym__mod_metadata_md_ipsd_ips__set_modmetadata_set_sym__mod_metadata_md_ipsd_ips_on_kernel__set_sysinit_set_sym_ipsd_ipsmodule_sys_init_ipsd_ips_depend_on_kernel_mod_metadata_md_ipsd_ips_mod_metadata_md_ipsd_ips_on_kernelipsd_attachipsd_closeipsd_detachipsd_devclassipsd_driveripsd_dumpipsd_dump_block_completeipsd_dump_map_sgipsd_ips_driver_modipsd_ips_modipsd_ipsmodule_sys_initipsd_methodsipsd_openipsd_probeipsd_strategy/usr/src/sys/modules/ips/../../dev/ips/ips_commands.cips_adapter_info_callbackips_drive_info_callbackips_io_request_callbackips_io_request_finiships_read_nvram_callbackips_wakeup_callbackips_write_nvram/usr/src/sys/modules/ips/../../dev/ips/ips_ioctl.cips_ioctl_callbackips_ioctl_finiships_morpheus_reinitips_copperhead_pollips_get_free_cmdips_ffdc_resetips_morpheus_pollips_morpheus_intrM_IPSBUFips_ioctl_requestipsd_finiships_start_io_requestips_adapter_initips_insert_free_cmdips_copperhead_intrips_get_drive_infoips_copperhead_reinitips_update_nvramips_get_adapter_infoips_clear_adapterips_issue_morpheus_cmdips_issue_copperhead_cmdips_flush_cacheips_adapter_free_DYNAMIC_GLOBAL_OFFSET_TABLE_bioq_insert_taildevice_get_softcdevice_shutdown_descdevice_set_descprintfpci_enable_busmaster_desc_sleephz__start_set_modmetadata_setdevice_get_namecallout_handle_initsema_destroybiodonemalloc_init_bus_dmamap_syncdevice_get_parent__stop_set_pcpudevice_attach_descrman_get_bushandlememcpybus_dmamap_load__stop_set_sysuninit_setsema_value__start_set_sysuninit_setdevice_printf_mtx_destroydevice_get_ivarsmalloc_sema_postcopyoutbus_dma_tag_createbus_dma_tag_destroyconfig_intrhook_disestablishdestroy_devmodule_register_initbioq_initbzero_sema_timedwait__stop_set_sysinit_setkobj_lookup_methodmicrotimetick_sbtdriver_module_handlermake_devdevice_delete_childbus_dmamem_allocbus_read_ivar_descbioq_removecopyindevice_get_unitbus_dmamap_createbus_setup_intr__start_set_sysinit_setbioq_flushstrncpyrman_get_bustagpanic__mtx_unlock_flags_sema_waitDELAY__bss_startsema_initbus_generic_detach__mtx_lock_flagsdevice_add_childdisk_createtimeoutconfig_intrhook_establishsprintfdisk_allocuntimeoutmalloc_uninitbus_generic_attachbus_alloc_resourcebus_teardown_intrbus_get_dma_tagdevice_set_ivars_edata_endtime_secondbus_release_resourcebus_dmamem_freedisk_destroy_mtx_initM_DEVBUFdevice_detach_descresource_disabled__start_set_pcpudevice_probe_descbusdma_lock_mutexbus_dmamap_destroy__stop_set_modmetadata_set_bus_dmamap_unloadfreebioq_first ...AՒiXՒiXՒiXՒiXp_\eNmP~fʼgDf 9.R嘖M{&#V #hV #rt#V ~ -~ .#S /#~ "ZJ ##bi $#ki %#s &# v& ^ N N\ u  3 1  4A  5Q \ 8     :  6 V   7  T N1 ;] 5 6#[ 7# $y E /w F `; FJ   f^ iA :" ;# <# =# >#  ?#( @#   N C  sTt#OTu#Vv#w#x#y# z#${#(|#,}#0)~#4#8#<#@"#D #H 5#L#P#R!A #)M # #W#g # # # # # #"#"##"#"#"#I~##R##YF ab#c#'d# / i30ys^t#'tt#t#hu#qv# F *+/=M>#R,1i6#$2|3##3M3#mn3# 4##4M4#$5##5M5#n5#(s7#:s8#F9#L:#S~;# <#$=#&>#(M / )& NB%N'7 8# 9# :# ;# <# =# ># ?#$ @#6 A#H# B#[ C#8o D#9E#: F#< G#= H#> I#?J#@ K#B L#C/ M#D A Y %e K.'(0 )#9 *#B +# ,#N-#/0#v 1#  ~<& ! !q0b c# d# e#(!f#g#"h# "i#j# k#S"l#!m# #m"m#{n#$Ho#( "p#, "2"%#"j(28"#'9 #B #M #Z #"#& !"  ""#" ! "  " "6_)YSF#Z#[#+\#]#"^#$&~'##(#)#*# .J/#0## #@# # #0 # #*#.## 7#P$ [$z$#$# $( N@ $*$%$]&'#}$#%## nvB0CU(sppZB(C 0CDU(spp QrCD i t DDp s ` DjFU (`sIcpcpb 5ERFi \  RF]Fcp  pFSGU (sppcF-G } -GIGp  `GDJU (sppGJ GI   / ;~ U J:Jp I PJLU (IsKpKpJKQ   KKKp   LMU (spppoQLL @ LLpp)MM 4S# o o(qsr< )MNU)fP [ [(]s^i   ( sx NOU R  qv!    (s$   NNU y(s r    (s !"! " "" " ,"1"!  r r(tsu 3 35 (6s OQU R ^ qv!q  7  K(s!"L"!  (s,!QRUR qv!  (s"F! ZZ!HR_TUHR >qHv!H H +O g(Js O KUL!#MX#ZN#P r!3 RRU3 Z6 q 0b! c#! d#! e#!( f#!S g#!h# !i#!R j#! >k#!Sl#! m# "m!/m#!{R n#$!HR o#(! fp#, A 4  #s!m t#!Om u#!V v#! w#! x#! y# ! z#$! {#(!R |#,! }#0!) ~#4!S #8!S #<!S #@!"i #D! #H! #L!#P!#R!![#!)g#! #!W#!g#! #! #!#!#!#!#!4#!E #!J#!J#!W#!I#! #!}#r F a! b#! c#!' d# $ / 30 4 j%ys&^ t#'t&; t#&@ t#&hE u#&qR v#  ; J ()R *^ +c $t y $ 6!R 7#! 8#!B#!C#!D#!E# ! F#$!G#(!CCH#,!Q I#0!Y J#4!e@K#8"K! K#!mNK#!urL#@"L! L#!mNL#!~M#H"M! M#!N#L"N! N#!mNN#! O#T!SP#X!R Q#\!R Q#`!^R#d! S#h!T#l!U#p!qX#t+V!W#! Y#x ,!-#!.#s 7 ? 8{,&<1:1</6 H$K X$c zd! #! #!#!H# !&9#!=o#!D#!X#!j# !z #$!8#(!/#,!#0!#4!-K#8!?c#<!s#@!|#L!#X"! #! #\!#`+!^#!#"!^#, - ) ) ) ).3$>I/- ) ) ).)di$t:O- ) )) $K`z- ) ))) ).5 e rJ"- ) ) ).=H- ) )h)) )s~A . () O!P#!Q#!R#!S#! T#!&U#!/V# !BW#!MX#!V4Y#!e Z# !s [#$!| \#(!]#,!D^#0!R _#4!R `#8!R a#<!R b#@! c#D"c!c#!Ic#!d#L!Ne#P!Yf#T!g#X!$h#`!2 i#h!? j#l!Ik#p!Tdl#t!n#!R o#!R q#!R r#!{# 6$ )<~:59>$]S$^$  5! 6#![ 7#y Ew F `J J~f- )R )R ))) q$/ - ) )@E$P[5() hsc- ) )))) hOM$Y/0,1s/R 0$/0?  =! ># , 1!3 6#+ 2!F 3#" 3! 3#!m8 3#! x 4#" 4! 4#!$ 5#" 5! 5#!8 5#!(= 7#!:= 8#!FR 9#!LE :#!SH ;# ! <#$! =#&! >#(~/ M ~ "!Z ##!b $#!k %#!s &# $v )2 1B.N'7& 8#& 9#& :#& ;#& <#& =#& >#& ?#&$&@#&6&A#&H2B#&[ C#8&o D#9&E#:& F#<& G#=& H#>& I#?&J#@& K#B& L#C&IM#D/ 0/>0 C/00/i 0/s0.K.'(&0 )#&9 *#&B +#& ,#&N>-#  /! 0#!v 1# ~ <2 !/# 9- ) ) O()\g6_3Y!SZ#!>[#!+ \#!S ]#!^#/>02$ -!~M.#!S/#2 ^N\u !V#!{#!# !h#!rI# $&!'#!(#! )#! *#  .!/#! 0#.j4&2 #'&9 #&B #&M #&Z #&a#2>k()/x !"! #! #!0 #!! #!*>#!.>#!!># .! "! #& #&! #&! #&! #&! #&! #&! #&7#&! # &!  # &!  #&!  #/ 0 / 0/ 00  % A""! #! #!6" #!>" #!7>#!.>#!!>#  . "!'&R">#&9 #&\" #&#&i"#&s"# &!#&! #&|" #&"#&"#&"j! #/ 0c{!! !z!#!!#!(@!*!!""! #! #!0 #!7 #!!>#!.>#!!># Q".]""5'D0& 1#&7 2#&!3#&)g4#""""! #! #!7 #!" #!!>#!.>#!!># &#.2#]&'#&}>$#&>%#]#h#@"! #! #!0 #! #!*>#!.>#!# !7#>  #4vB#`TAXU(uF# } IX##{T7XTX  =p =p =p =p =p =p =p H TRVV{ sT#V(VX#V#VXCYb#JJCX#Lr#4YYU4aZq444G6CX#78%##PXXU#CX#%%s|t#O|u#Vv#w#x#y# z#${#(a|#,}#0)~#4b#8b#<b#@"x#D#H  #L#P#R!#)#G#W#g#G#G#>#C#C###T###'#I##7#F ab#c#'d#/304 jys^t#tJt#Ot#hTu#qav# JYam+r6a7#8#B#C#D#E#  F#$*G#(CRH#,QI#0YJ#4eOK#8KK#m]K#uL#@LL#m]L#~M#HMM#N#LNN#m]N#O#TbP#XaQ#\aQ#`mR#dS#h T#l U#pX#tV W# Y#x,-#.#s7  ?8{ ,5<@:1K/6 WKgrzd## #H # &H #=~ #D #X #j # z ! #$G #(/ #,#0@#4-l#8?#<s#@|#L #X##\ #`m# #m#   " = B M X /= s x  " :  O  K  `  z  =  5 e rJ & 1 = L W w      A          OP#Q#R#S#T#&4U#/?V# BW#M X#VUY#eZ# s[#$|\#(]#,e^#0a_#4a`#8aa#<ab#@ c#Dc c#jc# d#Loe#Pzf#T?g#X$?h#`2i#h?j#lI k#pTl#tn#ao#aq#ar#{#"6-4 9 J< :5Z_]  t 56#[7#yEwF `YJ faa?* 5 qEP afq|5cw O MY!",#s!a"! "? =8 >#=, 1T 6# 2g 3# 38 3#mY 3#  4# 48 4#$ 5# 58 5#Y 5#(^ 7#:^ 8#Fa 9#LT :#Si ;#  <#$ =#& >#(8 / n~ "Z ##b $#k %#s &# v )$@B N 7G 8#G 9#G :#G ;#G <#G =#G >#G ?#$R @#6R A#H^ B#[G C#8oG D#9 E#:G F#<G G#=G H#>G I#? J#@G K#BG L#Cu M#D" A!G"!j"  C!""!x"!" K. (0G )#9G *#BG +#G ,#Nj -# / 0#v( 1#3 ~ <$GHSq0bGc# Gd#Ge#(Bf#bg#Gh# Gi#aj# jk#S]l#m# mm#{an#$Hao#( p#,%R2W ij% 2~ # 9G #BG #MG #ZG # #$jS# BC,76_&YSZ#j[#+\#b]#G^#!j"-~n.#S/#$^N \u#{?# #h #rj#$&'#|(#)#*# . /#0##?7%8#{a9#S]:##;# #<#b=#G>#*5! G # G #0G #!G #*j #.j #!j # #3# /a0#{a1#Sj2#z #6#+( @+*% 4I? : ;  I!I/  : ;  I: ; 8 2 II: ; $> &I  $ > 4I: ;  &.: ; ' I : ; I : ;  : ; I' I< I: ;'  : ; ( .: ; ' I? @ : ; I4: ; I.: ; ' ? @ .: ;' I? @ : ;I 4: ;I! "1X Y#: ; I$41 %1UX Y&1UX Y'1X Y ( U): ;I*4: ;I +41,.: ;' ? @ -4: ;I.: ;I/4: ;I041 1.: ;' I 2 3.: ;' @ 4: ;I 5.: ;' 64: ; I7.: ; ' I@ 8: ; I 9.: ; ' @ : : ; ; : ;< I: ;8 2 = : ;>5I? : ;@ : ; % 4I: ;  &II& : ;  I: ; 8 2  : ; ( I: ; ' I $> I' <  : ; I: ;8 2 I'  : ; I!I/ $ > .: ; ' I@ : ; I4: ; I4: ; I: ; I U1X Y : ;I 4: ;I !1X Y" #: ;I $: ;I%.: ; ' @ &: ; I '.: ;' I (: ;I).: ; ' I *4: ;I+ : ;, : ; - : ; .I: ;/5I0 : ;1 : ; % 4I: ;  &II& : ;  I: ; 8 2  : ; ( I: ; ' I $> I' <  : ; I: ;8 2 I'  : ; I!I/ $ > .: ; ' ? @ : ; I4: ; I .: ; ' I@ 4: ; I4: ; I 4: ; I .: ; ' @ !.: ;' @ ": ;I# : ; $ : ; %I: ;&5I' : ;( : ;) : ; % .: ; ' ? @ : ; I4: ; I 4: ; I1X Y .: ; ' I? @ 1X Y 41  $> .: ;' I? @ : ;I4: ;I 4: ;I141  U.: ;' I : ;I4: ;I.: ; ' @ .: ;' @ .: ;'  .: ; ' I : ; I4: ; I4: ; I II: ;  : ; ! I: ; 8 2 " : ; # : ; $< % : ;& I: ;8 2 ' : ;(' )I*+ : ; ,&I-I' .I: ;/I0!I/ 1$ > 25I3 : ; 4 : ;% .: ; ' I? @ : ; I: ; I4: ; I 4: ; I 1X Y 1 41 41 1X Y $> .: ; ' I .: ; ' @ II: ;  : ;  I: ; 8 2  : ; <  : ; I: ;8 2  : ;' I : ;  : ; &II' I: ;!I"!I/ #$ > $5I% : ;& : ; M /usr/src/sys/modules/ips/../../dev/ips@/sys@/dev/ips./x86./machineips.cmalloc.hconf.hrman.h_timespec.hbio.htime.hkernel.hipsreg.hbus.hcpufunc.hlibkern.hips.h_callout.h_lock.hcallout.h_timeval.h_mutex.hsema.hcondvar.hbus_dma.h 1Rgv[m//L MLxf v1xoXRuuNב?iʻju }t;/7~%=cJ, '&w .}7 7'KL+?z_z.wjXr @"hh˃t<hY (ټu0u tuXug/=Y#< ~Hlhuu<   ~<< ~f P<J  ~<< ~f P u  ~<< ~f P  << f ~   ~<< ~f P / ?<A< f ~   ~<< ~f P   ~<< ~f PXY   ~< < ~J 6 z.4 4<L< 6f ~ X  ~<< ~f P uMY   ~< < ~J 6 z<.B (<X< *f ~   ~<< ~fJ << f } N "<^< $fYۢ ~t ~<  j&  }< < }f P =uYo  }<< }J 6 z .[ $ [<  }< < }J 6 z.=uY  }<< }J 6 z. hMK F<:< Et19. }.   ~<< ~f ~t  ~<< ~f ~t ,  |<< |J . oJ.Py  |<< |J . oJ. ~<< ~J ~J <u  |<< |J . oJ.Py  |<< |J . oJ.g ~<< ~J ~J <u  |<< |J . oJ.M ~<< ~f ~. ~<< ~f ~t vx&4 << tKY3 ~<< ~f ~t   |<< |f J  ~<< ~f ~t j!ڢ |  << f ~J   < f ~J  <  ~t 4==  |<< |J . o<.oJK! ~< ~J ~. t  z  |f < |J 6 zX .L= ~< ~f ~J  ~f< ~f ~.? >~ | g=g g=h 1= Z.T /usr/src/sys/modules/ips/../../dev/ips@/sys@/dev/pci.@/dev/ipsips_pci.ckernel.hmodule.hbus.hkobj.hrman.hpcivar.hpci_if.hconf.hbus_if.h_mutex.hips.h_timespec.hbio.htime.h_callout.h_lock.hcallout.hipsreg.h_timeval.hsema.hcondvar.h3)  ~J<X ~J<X ~J<X ~J<X~t ~J<X ~J<~N "k%< ~J< ~ XY=rgK+1YK ; /usr/src/sys/modules/ips/../../dev/ips@/sys@/dev/ipsips_commands.cbio.hipsreg.hips.hrman.hkernel.hconf.h_timespec.htime.h_callout.h_lock.hcallout.h_timeval.h_mutex.hsema.hcondvar.hbus_dma.hB jwj4 uwL<>yp%u9jh uwM<>yq%u9jh Yu0g<@u==gʑg LJ u0dz j=+-K-0=J L< uO<>yr%u9ih 3-t YP<@u==gKʑg#u;//vt֣yY<@u==gKʑg{f J Au==gKK">K /qB==gKKZʑ0} /qB==gZʑ0=;gg~ /qB==gZʑ0~ :=wiYgKu0[  bA/YKu1R=gg=tumigK+z f KYK=;gwn# /usr/src/sys/modules/ips/../../dev/ips@/sys@/dev/ipsips_ioctl.crman.hips.hkernel.hconf.h_timespec.hbio.htime.h_callout.h_lock.hcallout.hipsreg.h_timeval.h_mutex.hsema.hcondvar.hips_ioctl.hbus_dma.h`T #ut7&,v0gR<;=Zu,4|&-#!#!~ =uKYg# %o;BgYY| AB ERAB B AB F$AB F%AB Fp&TAB F'AB F(VAB F+AB F+AB F,5AB ,-AB F 1AB F02AB C2AB 3AB  3AB @3AB `30AB D3AB | \3AB F\066AB F\p;iAB D\;$AB \<AB E\<8AB B|  =VAB E `= AB  =LAB E >.AB  ?AB   ?AB  @?AB F ?FAB F 0A]AB D A AB F| PBAB FP0CAB FPDAB FPpFAB FP`GAB FPPJAB FPLAB FPMQAB DP NAB FPNAB EPO.AB EPQAB EP RAB EPRAB F|  `TAB F PXAB E YAB EFreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512/usr/src/sys/modules/ips/../../dev/ips/ips.c/usr/obj/usr/src/sys/GENERIC/modules/usr/src/sys/modules/ipsM_IPSBUFks_nextks_magicu_longks_shortdescks_handlemalloc_type__set_sysinit_set_sym_M_IPSBUF_init_sys_init__set_sysuninit_set_sym_M_IPSBUF_uninit_sys_uninitips_diskdev_statenamestatebufips_cdevswd_flagsu_intd_namesi_spare0si_flagssi_atimetv_sec__int32_t__time_ttv_nsectimespecsi_ctimesi_mtimesi_uid__uint32_t__uid_tsi_gid__gid_tsi_modeunsigned short__uint16_t__mode_tsi_creducredsi_drv0si_refcountsi_listle_prevsi_clonesi_childrensi_siblingssi_parentsi_mountptmountsi_drv1si_drv2si_devswsi_iosize_maxsi_usecountsi_threadcount__si_u__sid_snapdatasi_namecdevthreadd_open_td_fdopend_fdopen_td_close_td_readuiod_read_td_writed_write_td_ioctlcaddr_td_ioctl_td_poll_td_mmaplong long int__int64_t__vm_ooffset_t__vm_paddr_tvm_memattr_td_mmap_tbio_cmdunsigned char__uint8_tbio_flagsbio_cflagsbio_pflagsbio_devbio_diskbio_offset__off_tbio_bcountbio_databio_mavm_pagebio_ma_offsetbio_ma_nbio_errorbio_residbio_donebio_driver1bio_driver2bio_caller1bio_caller2bio_queuetqe_nexttqe_prevbio_attributebio_fromg_consumerbio_tog_providerbio_lengthbio_completedbio_childrenbio_inbedbio_parentbio_t0fraclong long unsigned int__uint64_tbintimebio_taskbio_task_tbio_task_argbio_classifier1bio_classifier2bio_pblknodaddr_tbiod_strategy_t__vm_offset_t__size_tdumper_td_kqfilterknoted_kqfilter_td_purged_purge_td_mmap_single__vm_size_tvm_objectd_mmap_single_td_spare0d_spare1d_devsd_spare2__d_giantgianttrickpostfree_listsle_nextips_adapter_namesubsystemSI_SUB_DUMMYSI_SUB_DONESI_SUB_TUNABLESSI_SUB_COPYRIGHTSI_SUB_SETTINGSSI_SUB_MTX_POOL_STATICSI_SUB_LOCKMGRSI_SUB_VMSI_SUB_KMEMSI_SUB_KVM_RSRCSI_SUB_HYPERVISORSI_SUB_WITNESSSI_SUB_MTX_POOL_DYNAMICSI_SUB_LOCKSI_SUB_EVENTHANDLERSI_SUB_VNET_PRELINKSI_SUB_KLDSI_SUB_CPUSI_SUB_RACCTSI_SUB_RANDOMSI_SUB_KDTRACESI_SUB_MACSI_SUB_MAC_POLICYSI_SUB_MAC_LATESI_SUB_VNETSI_SUB_INTRINSICSI_SUB_VM_CONFSI_SUB_DDB_SERVICESSI_SUB_RUN_QUEUESI_SUB_KTRACESI_SUB_OPENSOLARISSI_SUB_CYCLICSI_SUB_AUDITSI_SUB_CREATE_INITSI_SUB_SCHED_IDLESI_SUB_MBUFSI_SUB_INTRSI_SUB_SOFTINTRSI_SUB_ACLSI_SUB_DEVFSSI_SUB_INIT_IFSI_SUB_NETGRAPHSI_SUB_DTRACESI_SUB_DTRACE_PROVIDERSI_SUB_DTRACE_ANONSI_SUB_DRIVERSSI_SUB_CONFIGURESI_SUB_VFSSI_SUB_CLOCKSSI_SUB_CLISTSI_SUB_SYSV_SHMSI_SUB_SYSV_SEMSI_SUB_SYSV_MSGSI_SUB_P1003_1BSI_SUB_PSEUDOSI_SUB_EXECSI_SUB_PROTO_BEGINSI_SUB_PROTO_IFSI_SUB_PROTO_DOMAININITSI_SUB_PROTO_DOMAINSI_SUB_PROTO_IFATTACHDOMAINSI_SUB_PROTO_ENDSI_SUB_KPROFSI_SUB_KICK_SCHEDULERSI_SUB_INT_CONFIG_HOOKSSI_SUB_ROOT_CONFSI_SUB_DUMP_CONFSI_SUB_RAIDSI_SUB_SWAPSI_SUB_INTRINSIC_POSTSI_SUB_SYSCALLSSI_SUB_VNET_DONESI_SUB_KTHREAD_INITSI_SUB_KTHREAD_PAGESI_SUB_KTHREAD_VMSI_SUB_KTHREAD_BUFSI_SUB_KTHREAD_UPDATESI_SUB_KTHREAD_IDLESI_SUB_SMPSI_SUB_RACCTDSI_SUB_LASTsysinit_sub_idSI_ORDER_FIRSTSI_ORDER_SECONDSI_ORDER_THIRDSI_ORDER_FOURTHSI_ORDER_MIDDLESI_ORDER_ANYsysinit_elem_ordersysinit_cfunc_tudatasysinitips_get_free_cmdips_insert_free_cmdips_adapter_initips_morpheus_reinitips_adapter_freeips_morpheus_intrips_morpheus_pollips_issue_morpheus_cmdips_copperhead_reinitips_copperhead_intrips_issue_copperhead_cmdips_copperhead_pollips_copperhead_cmd_statusu_int32_tips_copperhead_queue_initips_copperhead_queue_callbackbus_space_write_2outwbus_space_read_1u_int8_tinbu_charbus_space_write_1outbips_morpheus_check_intrips_diskdev_freebus_space_write_4outlbus_space_read_4inlips_timeoutips_diskdev_initips_ioctlips_closeips_openminips_cmdqueue_freeips_cmdqueue_initips_cmd_dmaloadiores__r_iresource_ir_bustagbus_space_tag_tr_bushandlebus_space_handle_tresourceirqresips_ichich_linksich_funcich_argintr_config_hookconfiguredstateiotypeirqridirqcookieadapter_dmatagbus_dma_tagbus_dma_tag_tcommand_dmatagsg_dmatagdevice_tdevice_filetimercalloutc_linkssletqec_timesbintime_tc_precisionc_argc_funcc_locklo_namelo_flagslo_datalo_witnesslock_objectc_flagsc_iflagsc_cpucallout_handleadapter_typeu_int16_tmiscflagsSLTflagsBSTflagspwr_chg_countwrong_addr_countunident_countnvram_dev_chg_countcodeblock_versionbootblock_versiondrive_sector_countmax_concurrent_cmdsmax_phys_devicesflash_prog_countdefunct_disksrebuildflagsoffline_drivecountcritical_drivecountconfig_update_countblockedflagspsdn_erroraddr_dead_diskips_adapter_info_tdiskdevdrivesdrivenummerge_idraid_lvlips_drive_tffdc_resetcountffdc_resettimetv_usec__suseconds_ttimevalnext_drivemax_cmdsused_commandscommandarraycommand_numberdata_dmatagdata_dmamapbus_dmamapbus_dmamap_tcommand_dmamapcommand_buffercommand_phys_addrfieldsreservedcommand_idbasic_statusextended_statusips_cmd_status_tdata_bufferips_commandips_command_tstaticcmdfree_cmd_listslh_firstcommand_listips_adapter_reinitips_adapter_intrips_issue_cmdips_poll_cmdcopper_queuebase_phys_addrnextstatusips_copper_queue_tqueue_mtxmtx_lock__uintptr_ttqh_firsttqh_lastlast_offsetinsert_pointbio_queue_headcmd_semasema_mtxsema_cvcv_descriptioncv_waiterssema_waiterssema_valueips_softcips_softc_tforcetmpbus_size_tportbshvoid_scfoundoisrcmdnumberconfigstatuspostcodeju_shortstatnumqueueptrsegmentsds_addrbus_addr_tds_lenbus_dma_segmentbus_dma_segment_tsegnumfmttdcmdptr/usr/src/sys/modules/ips/../../dev/ips/ips_pci.c__set_modmetadata_set_sym__mod_metadata_md_ips_pci_on_kernel__set_modmetadata_set_sym__mod_metadata_md_ips_pci__set_sysinit_set_sym_ips_pcimodule_sys_initips_pci_modevhandmodulemodule_tmodeventhand_tprivmoduledatamoduledata_tips_pci_driver_moddmd_chainevhdmd_chainargdmd_busnamedmd_driverdefltkobjop_desckobjop_desc_tkobjop_tkobj_methodkobj_method_tbaseclasseskobj_class_trefsclskobj_opskobj_ops_tkobj_classdmd_devclassdevclass_tdmd_passdriver_module_dataips_devclassips_pci_driverdriver_tips_driver_methodsmd_versionmd_typemd_datamd_cvalmod_metadata_ips_pci_depend_on_kernelmd_ver_minimummd_ver_preferredmd_ver_maximummod_dependips_pci_shutdownips_pci_detachips_pci_freeips_pci_attachips_intrhookbus_alloc_resource_anypci_enable_busmasterPCI_ENABLE_BUSMASTERpci_get_deviceBUS_READ_IVARips_pci_probepci_get_vendorINTR_TYPE_TTYINTR_TYPE_BIOINTR_TYPE_NETINTR_TYPE_CAMINTR_TYPE_MISCINTR_TYPE_CLKINTR_TYPE_AVINTR_EXCLINTR_MPSAFEINTR_ENTROPYINTR_MD1INTR_MD2INTR_MD3INTR_MD4intr_typePCI_IVAR_SUBVENDORPCI_IVAR_SUBDEVICEPCI_IVAR_VENDORPCI_IVAR_DEVICEPCI_IVAR_DEVIDPCI_IVAR_CLASSPCI_IVAR_SUBCLASSPCI_IVAR_PROGIFPCI_IVAR_REVIDPCI_IVAR_INTPINPCI_IVAR_IRQPCI_IVAR_DOMAINPCI_IVAR_BUSPCI_IVAR_SLOTPCI_IVAR_FUNCTIONPCI_IVAR_ETHADDRPCI_IVAR_CMDREGPCI_IVAR_CACHELNSZPCI_IVAR_MINGNTPCI_IVAR_MAXLATPCI_IVAR_LATTIMERpci_device_ivars_ce_cep_m_child_index_result/usr/src/sys/modules/ips/../../dev/ips/ips_disk.c__set_modmetadata_set_sym__mod_metadata_md_ipsd_ips_on_kernel__set_modmetadata_set_sym__mod_metadata_md_ipsd_ips__set_sysinit_set_sym_ipsd_ipsmodule_sys_initipsd_ips_modipsd_ips_driver_modipsd_devclassipsd_driveripsd_methods_ipsd_ips_depend_on_kernelipsd_finishipsd_detachipsd_attachipsd_dumpipsd_dump_map_sgipsd_dump_block_completeipsd_strategyipsd_closeipsd_openipsd_probeiobufd_geomg_geomd_devstatd_destroyedd_unitd_queued_lockdisk_open_tdisk_close_tdisk_strategy_tdisk_ioctl_td_getattrdisk_getattr_td_gonedisk_gone_td_sectorsized_mediasized_fwsectorsd_fwheadsd_maxsized_delmaxsized_stripeoffsetd_stripesized_identd_descrd_hba_vendord_hba_deviced_hba_subvendord_hba_subdeviced_drv1d_rotation_ratedscdisk_numberipsd_diskipsdisk_softcipsdisk_softc_ttotalsectorsdpvirtualphysicalvacommand_structlbabuffaddrreserve1ips_io_cmdoffnsegssg_listips_sg_element_t/usr/src/sys/modules/ips/../../dev/ips/ips_commands.cips_start_io_requestips_get_adapter_infoips_get_drive_infoips_flush_cacheips_ffdc_resetips_update_nvramips_clear_adapterips_send_error_table_cmdips_wakeup_callbackips_send_config_sync_cmdips_read_nvramips_read_nvram_callbackips_write_nvramips_send_ffdc_reset_cmdips_ffdc_settimeips_send_flush_cache_cmdips_send_drive_info_cmdips_drive_info_callbackips_send_adapter_info_cmdips_adapter_info_callbackips_send_io_requestips_io_request_callbackips_io_request_finishreserve2reserve3ips_generic_cmdreset_countreset_typesecondminutehourdaymonthyearHyearLips_adapter_ffdc_cmdsctimeremyleapipyear_lengthsmon_lengthsdaysnewypagenumrwips_rw_nvram_cmdsignatureadapter_slotbios_highbios_lowoperating_systemdriver_highdriver_lowreserve4ips_nvram_page5ips_drive_cmddriveinfoips_drive_info_tcommandtypeips_adapter_info_cmdcmdtype/usr/src/sys/modules/ips/../../dev/ips/ips_ioctl.cips_ioctl_requestips_ioctl_cmdips_ioctl_startips_ioctl_callbackips_ioctl_finishdatasizereadwriteips_ioctl_tips_user_requestmQ2PVBJWPmWVP !V !-!V5!#V!!P!!P!!P$ $Q $F%VI%%VL$p$p$y$QJ%Y%Q%%Q%%up%%Q%&up&&Q&"&V"&a&Qp&&W&&R&&ul&&Q&'ul'A'RA'o'Wt''R''W'(V' ( ((W((',(V()S*y*S**S**S(*W**W**W((R((R((R((Q((R((R((R((P((R((R((R((P))R) )R))R))R)$)R()))R?)B)RB)H)RP)V)Re)h)Rh)n)Rr)s)Rv)y)Ry))R))R))Q))R))R))Q))V4*?*V))Q=*?*P))R))R))R))R))R))R))P%*(*R(*1*R/*1*PJ*M*RM*S*R[*a*Rl*o*Ro*u*R**R|**R**R**R**P**R**R**R++W5+8+R8++8+>+RB+C+RC+C+PC+I+PS+\+P_+r+Ru+x+Rx++R++P+(,V(,~,W~,,V+,ul,&,S, ,R ,, ,,R,,P",&,P3,<,P?,W,RZ,],R],f,Rd,f,P,,P,,P,,P,,R,,R,,R,,P,,P,0W01W,-R----Q-.uh..Q.(.uh(.C.Q01--R --R--R--R!-$-R7----SP.Y.S@-s-s--V-.. .V..VS-V-RV-_-R]-_-P--R--R--R--R--R--R--P..R..R..P+...R..9.Rc.f.Rf.o.Rm.o.P..R..R..R..R..R/ 0P00P//P//R/0R00R5080R80>0RC0F0RI0L0RL0R0RV0W0RZ0]0R]0c0Rh0k0R00R00P00P00P00R00R00R00P00P00P00R00R01R11P11P11R11R11P11P 12Wf1r1P11R11R11P11P12Q11R12P11P11R02Y2QY22W22W22Vr2u2Ru2~2R|2~2P22P22P22P22R22R22R22R22R22u33u33P33Q 303u@3P3u`33uv33V33u33P33Q34W35W56S33Q33Q34S33Q4~4W64:4QY4Y4Q84~4S=4Y4Q~44W44Q44Q44S44Q4;5W44Q55Q4;5S45QK55Wf5j5Q55Qh55Sm55Q55W56S55Q55Q55S55Q066W67S728Sp88S8:S::S66W67S66Q66Q66Q7b7S7 7Q?7?7Q#7?7Q78S77Q77Q77QE8N8Qm8m8QQ8m8Qp88S839S88Q88Q88Q839S839W89WE99S99P99Sp;;u;;u;<u;;P<<V<<V=T=W`==u=>W==P>>u>>u??u ?3?u@??u?Au!A&Au?Au!A&Au?Au!A%Au@@V3@m@V?v@RAAR?v@W@AV@AW0AAVAASAAVAAVBBVAAAAQA B BBQBBAASABSAARAARAFBupLBBupBBVBBPBBSBCVQPQRVQWQPIQQWQQW RdRWiRRWRRPR8SVd_close_t daddr_t&u_char d_kqfilter_t5uint32_t vm_offset_t5bus_dma_segment_tP__int32_tcdev: d_mmap_single_t-bus_space_tag_t. bintime __uint8_t/ips_adapter_info_t5bus_dma_segmentd_fdopen_t sysinit%u_int32_t unsigned char5bio_queueC.callout_handleMvm_paddr_td_write_t:time_t int32_tw bio_task_t*ips_softc uint8_t __off_tcaddr_t2timevalj3ips_cmd_status_t5bus_size_t` __uint64_tX__vm_paddr_tE__time_t5u_shortD5semad_open_t+__vm_ooffset_t4uintptr_tj vm_size_t/short`.callout 6bus_addr_tmode_t" d_purge_t/u_int16_t*ips_softc_tgid_t&u_int8_t size_tsysinit_elem_orderd_ioctl_tbuid_t__mode_tAmalloc_typebiochard_mmap_tk long long unsigned intyd_strategy_t`2ips_commandAlong long intT3bus_dmamap_t __size_tunsigned short/sbintime_td_poll_tNd_read_tx__uint32_t3command_listtimespecU uint64_t/lock_object6e'dumper_tdevice_tw__int64_t__uintptr_t} resource$__suseconds_tavm_ooffset_t%ips_copper_queue_t__vm_size_tvm_memattr_t&bio_queue_headlong unsigned intl#ips_drive_te&mtxlong int$ips_command_tu_long,__gid_tkobj_methodsysinit_sub_id#suseconds_tmcdevsw5kobj_class_t)off_t__uid_tsysinit_cfunc_tkobjop_desc_tq __uint16_t bus_space_handle_t __vm_offset_t3'cvdriver_tmoduledataintr_config_hookiu_intunsigned intbus_dma_tag_ttkobj_ops_tintmd_close_tdaddr_td_kqfilter_tkobj_method_tvm_offset_t6mod_metadata__int32_t]d_mmap_single_t bus_space_tag_tcdevobintime __uint8_tdriver_module_data!ips_adapter_info_tmod_depend7d_fdopen_trsysinit7#u_int32_tunsigned char&bio_queuebio_task_tvm_paddr_td_write_ttime_tint32_tcallout_handleips_softcuint8_t4__off_tcaddr_t#timeval*%ips_cmd_status_tmodule_tf uint16_t__uint64_t__vm_paddr_t__time_t&semad_open_tuintptr_tl__vm_ooffset_tvm_size_t!short callout7mode_tEd_purge_t!u_int16_tEkobj_classips_softc_tkobjop_desc!gid_t#u_int8_t8size_tsysinit_elem_order[modeventhand_td_ioctl_t uid_tB__mode_tkobj_opsbioTchar6d_mmap_tdevclass_tlong long unsigned intd_strategy_tlong long intC__size_t| unsigned short+!sbintime_t%bus_dmamap_td_poll_t}d_read_t moduledata_t $ips_commandN__uint32_t"kobjop_ttimespec%command_listuint64_t;!lock_object~]$dumper_tdevice_t"command_list__int64_t__uintptr_tYresource __suseconds_ttvm_ooffset_t"ips_copper_queue_t__vm_size_tvm_memattr_tbio_queue_headlong unsigned int~mtxlong int!ips_command_tY ips_drive_tu_long-__gid_tkobj_methodsysinit_sub_id suseconds_tcdevsw5kobj_class_t&off_tdisk_open_t__uid_tsysinit_cfunc_tkobjop_desc_t#ips_io_cmdN__uint16_tQdisk_ioctl_t__vm_offset_t#cvbus_space_handle_tdriver_tmoduledataiu_intintr_config_hookunsigned intbus_dma_tag_ttkobj_ops_tintd_close_tNdaddr_tAd_kqfilter_tkobj_method_t$uint32_tvm_offset_t6mod_metadata__int32_td_mmap_single_t cdevbus_space_tag_tP$bus_dma_segment_tbintime __uint8_tdriver_module_dataips_adapter_info_t[$bus_dma_segmentmod_dependJd_fdopen_trsysinitu_int32_tdisk_getattr_t unsigned charMbio_queue;bio_task_tvm_paddr_td_write_ttime_tint32_t5callout_handle^ipsdisk_softc_tips_softc uint8_t1__off_tcaddr_t timeval"ips_cmd_status_tiipsdisk_softc$bus_size_tmodule_tuint16_t$__uint64_t__vm_paddr_t__time_t$ips_sg_element_tR#semad_open_t__vm_ooffset_tuintptr_tvm_size_tshort1disk_close_tRcallout$bus_addr_t8mode_tmd_purge_tu_int16_tEkobj_classips_softc_tkobjop_descdisk_gone_t"gid_t u_int8_tdisk8size_tsysinit_elem_order[modeventhand_td_ioctl_t uid_tC__mode_tkobj_ops[ bioTcharId_mmap_tdevclass_t/long long unsigned intd_strategy_tlong long intC__size_tYunsigned short#d_poll_tssbintime_tAdisk_strategy_td_read_t moduledata_t !ips_commandN__uint32_t"kobjop_ttimespec"bus_dmamap_tuint64_tlock_objectY#dumper_ti device_t~__int64_t__uintptr_tr resource__suseconds_t"ips_adapter_info_cmdhvm_ooffset_t\ips_copper_queue_t__vm_size_tvm_memattr_t bio_queue_headips_adapter_ffdc_cmdlong unsigned intsips_drive_tmtxlong intips_command_tQ"ips_drive_info_tu_long__gid_tsuseconds_t ips_rw_nvram_cmdccdevswoff_t bus_space_handle_t__uid_t]#ips_io_cmd1__uint16_tcv__vm_offset_t!ips_drive_cmd u_int intr_config_hook unsigned intS bus_dma_tag_t inttd_close_tdaddr_t$d_kqfilter_t!uint32_tips_generic_cmdvm_offset_t{!bus_dma_segment_t__int32_thd_mmap_single_t bus_space_tag_t cdevdbintime __uint8_tips_adapter_info_t!bus_dma_segment>d_fdopen_t>u_int32_t unsigned charVbio_queuecallout_handlevm_paddr_td_write_ttime_tint32_tbio_task_t ips_softcuint8_t)__off_tcaddr_ttimevalips_cmd_status_t!bus_size_t__uint64_t__vm_paddr_t__time_t&#ips_sg_element_t}semad_open_ts__vm_ooffset_t uintptr_tvm_size_tshortcallout!bus_addr_tmode_tPd_purge_tu_int16_txips_softc_tgid_t u_int8_t size_td_ioctl_tuid_t&__mode_tbiochar ips_nvram_page5=d_mmap_tlong long unsigned intd_strategy_t ips_commandlong long intbus_dmamap_t__size_t<unsigned short=sbintime_td_poll_td_read_t__uint32_tcommand_listtimespecuint64_tMlock_object"?Bdumper_txdevice_t __int64_t__uintptr_tresource3__suseconds_tw vm_ooffset_t,ips_copper_queue_t__vm_size_t vm_memattr_tbio_queue_headips_user_request long unsigned intips_drive_tmtxlong intHips_command_t u_long__gid_t(suseconds_trcdevsw?off_tbus_space_handle_t__uid_t@__uint16_t|cv__vm_offset_tu_intintr_config_hookunsigned intbbus_dma_tag_tint d_close_tdaddr_tEd_kqfilter_t+uint32_t*ips_generic_cmdvm_offset_tbus_dma_segment_t__int32_td_mmap_single_tbus_space_tag_tcdevbintime"__uint8_tips_adapter_info_tbus_dma_segmentM d_fdopen_tju_int32_t-unsigned charbio_queue callout_handle vm_paddr_t d_write_ttime_tint32_tbio_task_t%ips_softcuint8_tJ__off_t caddr_ttimeval]ips_cmd_status_t6bus_size_t__uint64_t __vm_paddr_t__time_t7sema d_open_t __vm_ooffset_tuintptr_tvm_size_tshort=callout bus_addr_t*mode_tqd_purge_tu_int16_tips_softc_tips_ioctlgid_tGu_int8_t*size_t d_ioctl_tuid_t5__mode_t bio charL d_mmap_tlong long unsigned int d_strategy_tSips_command long long intGbus_dmamap_t5__size_tKunsigned short^sbintime_t& d_poll_t d_read_t __uint32_tips_ioctl_tcommand_listtimespecuint64_tnlock_object"""@#((((((((((((|******y****((y****)) ))))$)))?)B)H)V)e)h)n)s)v)y)))))))))))))))%*(*,*3*J*M*S*a*l*o*u*y***a*y***********5+8+>+C+u+x+|++, , ,",Z,],a,r,,,,,,,,------$-S-V-Z-b---------P-r---P-r-------...".+...2.C.-..C.-..C.c.f.j.r..........2001//0 0000000000011115080>0F0I0L0R0W0Z0]0c0k01112`11121111r2u2y2222222222~4;5K5&6777/8677/899&:;:MMMMHpx| |E?M$mC# WԢU ZQ4jaa]DaE"* "X]\+Qt@V +ެ&ibi}3o޼7(":Eg>6Ou">G!:Zvx[,?on4`.nןXTNKMNhSHI;<MH)>STK CH:_rݨfs7D`E'`R4\߁F#V2 h Nz%i.hfE|=V^<64}uk̃i[/Xs>ꍴ ʖX0rS%~R [דJ O}몮4MG(Rt~oCY[,?+jߗp~@ԋO'ұE:I3nK9,S/\w=_l4TWs]fN ig9¶=d97gs֟Ά"댲:kHu)yDRZ?2G%N^h9r唢54ŮqHGz8DuSYK`,okmLю|)BQ4k!q lFNW;fIpeh8c'R0j3`=VmǬj̨̬$Oq},؋Rzxz88zc\VQҹrf{ܺN x);b&=0S-dr=2O.|)D<o3Qi!|#U/)|HLplΠXZ[73Sm gP.EvXX40nsՙG*XgnT" escuoM4VpXhy%<8-.16"pxbj38] ^1xbBL7#ڂ]CC; +-=9rdP/GEy45{9v"s2Ō z' vx1엫a^wdL[rJ5߂c\ג3ɩ*5%-tadN?A)cN;eE2{-,8L,Łז}-iٛEHp1xNIcK ^´R/D3Je^04\4K2K,эwh x>tiQ6<$K6~< 3<#A}3VOr _Y>Zc&NN܁V@˗Ð=Vmx꠼wb3D=:zlq4|㽉"jϨ [ ڤvU1w2*ܣ=dzҧ0#z$ 23 [ظL3L3GЭb(3 1NGkj.hSYq:٘+ml%b5k_i6(RRsz 7vgr{38K̾o՜9ޝ y7c;V~y5?v^`,+ZyJ׃/R*vinpr3e5<f_tyGoR<ꦷ~0\q`#mwyfBr٠`y=ƲK/|meΥ-THX3]eUWb\2P3Wu30GUYf~ۙ፺du٠{0{̤nb3Oғz.s^LU I_[Yw0wpaezVNwb/~=XX#NmvC/(e?GѥaiZXr>Eڇ Wn EWspAXEa9e&iEI)ZÜ`~dMXd>Di=k{{87 Ͱ7{’ K~㩖-󱜢 fN`V3H@Jkl=Xm~l}o9@2ڧbok>Mc;{<7<7y64ZbV8T|ʙ@wW<.gstJŏ0[h=קi 3CYP,}k1s&Sk8o߈>/705ô7F{@)E|'IA5Feay}BbJy%j (Ujb\m[UOyYLeQumV\Sٛc"hUξɫVp]'[Y#\; Z;5ry옸T{\'5 ;|]iU*%C<}L2wv*w*]~?zgBJZ@Qk:^,'̔tpO D_Od3Wqg0p#U dQZ'ÛXver9Xy(qFTzD>t7x0.G:*Uڶﮪ}W p\;3Nsf#M1ڨ|_T((Qe!7D xC4dW©` miQbTmQcWT!*YA6b!1Q\82fBФ@VMq-;rg#{mr8N2?[9zUD_#əξdդtIJL@FZʇ|?%$Γ?߁rsssMQNn`c4 5}wp0QS ?ӖC݌8P)e]먓F;+VK+O4+)4C 0FsM 0(ҫϧEwGuTu Aǩ(5H+/ 6A֜U`0" OBBh_os3wZ5TiYG=OcӀJ\5seYGGűx-7Sj"h5P(rIP5i꫱!h %|Fux4r [ >2>-Q` #Nh_3R8jND8ƌzG]V@;eؔ'ÔfGe `uxz4 !B@p!`R^aX$Z] ;lGg?'9{uFƎo|Fv̟QY5,<@cY^ySqo84zu9ӧнfI-J(TkoK?HO*cS*x-0|xƴ+?4F-a vź.[mI=J~,x9c T]MZ6D o]imVKH@)pG @R h--WVZ>;gI5^ՀM9`QݱwJ6  x.!xKCe]%< F HłG $̍@*a+HIepȠ hx@z=AvN'8@Ƹ9z"tcj7 cr}A<z] 2PV8b_s2U/0ӥ%\4P0C 9tƟ{gL|⌻mnzgu?p4QBPЏM 4KlG(0{0hO  ӣAFUXCժ-uB׹5S`Dr-e,D3k5mzvNߠG +9#800;652n k`'EƗS㗐5+̘>#QDBa˒eVcNUvkp-#O-5ue,w1~? 1}Sr^ydI\7*޲p<)tbݮD^Epv~v:׵K4NMmwsplx\%;h@Ӎ_ZCŢr;K,`kj/Z$M>KZXl7K2a1!o_d\ɲ%|t6b5o`% 1s)̟aJWn+/xߤH= 8S+ m_l6K7ۍ'ekyL٬YzE|ܷUkZ>~)F 8;_fF`[5H[$;QUU/t$C[*!xWyk{N6Q0C4'.lx 0x ?F0A]A x  x  w +F>u5F%Z|$$D$D$ D$f64$SNZF%Z$D$ D$D$1҉.~,u(F9u"~>wF>wF> ~,uF9t^]À~>wF>]d=NZu5F%Z|$$D$D$ D$4$R^EF] ^NZu1F%Z$D$ D$D$UtBNFtH C(S(N҉VtJ K,2V K,0F CX@CXu{Mu C|$wF8t$F@1 ^_[]ÐUSWVud==[u(|$D$D$ D$$[~t}EM vtD$L$@L$D$4$PGG?w6 ZZ[ED$E D$4$)Džt$GM]9O9tt6E [u$D$ D$D$$[ExMuu @|$Zz^_[]ù [uD$ D$D$$[뼐USWV,]u Ud==[u+|$D$D$ D$$[ U}tU\$t$$DžE@tE䐐WUOM)ًE;P8;H<tED$ED$E$|EGGO)ىGO|$E$7t!GG?w6 ZZ[\$t$E$/DžUE [u$D$ D$D$$[ ,^_[]ÐUSWV}1tu^_[]ËU] d55[u/t$D$D$ D$$[yڋ] tT$\$<$葓lj [u$D$ D$D$$[ELUSWV(M]ȉσd MI; [„ʾuƋMU 1tC0L$T$$EM [u+ED$D$D$ D$$[oZ Z;|Zwsu;Zwfu9u[E [u$D$ D$D$$[&w=[]61مtCAt΋ML$M L$$ƅt E [tFE [1\D$ D$D$$[u3t2AN%f=u#ED$ ED$E D$ $耡ƅusD$${ƅuY1tND$$z64$Łtt$D$$ـ4$菧F6tg~^;}Fu3U 3M uXZE ËEF?OtD$\$ $NF ZGM1<utUuO| Z [1ɋUM1F6}t [ fN6E [u(D$ D$D$$[F8M tGN$F9F0CuF0@tF0 EtZF,F>UVUVU^~FNG0t$$tdEF^EFEt$s3}t-ZF,FF9f64$!1NFUtBNFtH G(W(N҉VtJ O,2V O,0F GX@GXuMu G|$>oF8t<$GL<tGNuD$4$&Et$rZZ;[s2(^_[]Ét$$"USWVHEd=O; [„ʾuƋ]=[u(|$D$D$ D$$[ZZ |Z9siu9r^u Z9sM [u$D$ D$D$$[A[11}E,Eu }}t@E@Ot7E(D$E$D$t$|$\$ ED$E D$E$.u]E(D$E$D$ t$|$$܀u;E(D$E$D$ t$|$$rE1ۋ}kDÉljEEG6u Z [th [`G?wGNtWT$D$ $G Z~Mu-~tu'F|fg6t GE؉}fg6D9p1ҋ}] E1ҋ}1۹E [u(D$ D$D$$[kҋ}t1 ]؉ Et EZtGL<e,„uEMU } É]k]DEÉ]B]@u܉ƐF8F6 #EfF6F0t}uF0}tF0 }tF,F9t0L$ ˉT$׉D$4$EtV׉NˊEE<tED$4$|%كD;u}CuF$n6uZZ;[s'.E}G$En?uZZ;[s-}t E)ZEԐ}t@,9r@`6$zD;Er1H^_[]ÐUSWV] ؃d=O; [„ʾuƸ=[u(|$D$D$ D$$[Z Z;|Zwru;Zweu9uZ [u$D$ D$D$$[gw[,1dE$D$D$\tƅtMF6F?^FKtVT$D$ $ʎF ZCM1<uh{tubK|] [1D$ D$D$$[ Z [1ɨt [ff6 [u$D$ D$D$$[;F8E N6!fN6 tZF,F9t$kZZ;[s3+^_[]ÐUV$d55[u(t$D$D$ D$$[fF; [tk=[u[$[JD$ D$D$D$D$D$ eD$TD$[$ZQ[D$ D$D$D$D$D$ ^D$PD$[$[ZB$^]ÐU$d  [„u(L$D$D$ D$$[G=[u[$[ID$ D$D$D$D$D$ lD$xD$[$ZA$]ÐUE@:Z]ÐUSWV}_:d5ZZu*t$$D$D$ D$UUUG:OtHOZZZ u $D$ D$D$^_[]ÐUVuF:F:VtQV Z ZZ^]ÐUSWV]{:d5ZZu*t$$D$D$ D$U5UUKtHKZ ZZCU u $D$ D$D$^_[]ÐUWVEx:PtQPZZZ H^_]ÐUSWV׉Md5ZZɹu/t$$D$D$ D$UUEG:ZG8ZZZ u $D$ D$D$^_[]ÐUVPuF6u'F,u~:t4$ZF,@F,^]ÐUUB6u@B,t>HB,u3-ZB9u"ztE ub6ȃ]]ÉT$$݄̝USWV׉ΊF:uz~,pF9f$s舔t$D$>$~OpUVM t!EL )1^]ÐUSWV }] u%9t"N? r)L$D$4$%9t-N? r)ʉD$4$T$}%L; )F? ^_[]ÐUSWV }] u%9t"N? r)L$D$4$ %9t-N? r)ʉD$4$T$% L; )F?хۈN?u}u$gL$1t8ZtO\$$D$D$D$ D$hZ t$D$$D$ D$Y$D$D$D$ D$D$xCtHC6T$ u t$D$$D$ D$E_D$8@F|$D$`Xr xuMpZt1 hZT$$D$D$D$ D$ы@eHV$uU:Cku$M薗MME؉ $D$D$ugHKh UtuE؉$%U:u $D$ D$D$DE$)$M9u#E$D$ D$D$}<$E܃}unOE9tVA0u;׋Q$t0tzDu&BMwtEBXEԐI9u}}}܉$D$D$E$G;}vMuQ}]+U2ɿuvt$$D$D$ D$߭}܍t$<$}D$D$ D$蒭xZt0ML$$D$D$D$ D$hZHKh tu E؉$#U: }xZt6M草L$$D$D$D$ D$hZ}苇HOh tu<$##U:u $D$ D$D$螰E܉E]xuEpZt1 hZT$$D$D$D$ D$ы@H$U:d5E썓u6t$$UD$D$ D$诫IUxZt0ML$$D$D$D$ D$hZ{pu>Ch"u4Ktt,%u%/ZU:u $D$ D$D$DZtH DZuD$D$$4Z]d5t>xZtYL$$D$D$D$ D$hZ$t$<$D$D$ D$ $D$[$D$GHKh tu$I u <$D$ D$D$ǭ$Z 8^_[]ÐUP=[u(d@; [t[$[]ÐUSWVp׉΋F%Z$D$ D$D$L|$$^:|$(<$D$D%fD$^D$X\$bfD$\4$ËD$(tx{>t$,d=SKu,$D$ D$D$\$腬ڋ\$T$ NZtJxZtvNZ$L$D$D$D$ D$hZ5F%Z|$$D$D$ D$輧T$ :tt$,dzɍBD$ u,D$ $D$ D$D$T$$xT$$T$$NZu1F%Z$D$ D$D$"|$_t8ZtN|$$D$D$D$ D$hZG\$$D$ D$6MNZtJxZtvNZ$L$D$D$D$ D$hZ5F%Z\$$D$D$ D$T$ tD$ЩXr xuMpZt1 hZT$$D$D$D$ D$ы@eHVD$PD$$D$.|$Pt$TL$X9ϋD$\9tuω|$EF>_u 4$n%QuLu,F>}F>-u&4$n%4$٪4$oF><4$NغZ]s\tyF$D$D$kE;]t$D$D$KJG$;E_EEu9t4$D$D$J(^_[]ËEҐUSWV\"d@D$D$ЈD$D$D$ D$$u萋Y,Z[D$D$[%f[[[f[6HfCUd55[u1t$D$D$ D$$[評AxZt1$D$D$D$ D$D$[hZ=[tJ ZZZ9we;[r [$Z =[u;Z Z ZL$D$B=[|o Z=ZZÉӉD$\$D$ D$D$D$ PD$TD$[$[%1=[t \Z[@[ [u$D$ D$D$$[,[1Ʌ۸LfC+U;(E жE̶E t1$D$D$D$ D$D$dVC$<ƅV]ЋF@F^(F Euv{d=u 4$D$ D$D$=C $D$S>u,|$4$D$D$ D$ؒFxZt7ML$$D$D$D$ D$hZ&uFHFu4$r$uC>DC>E}{@r$YMEKZu1C%Z$D$ D$D$ M̋AUU ɋ]|$$D$ D$S=xZt1$D$D$D$ D$D$ZhZ$謾EM̋AUu0 u"|$$D$ D$<HAKZu6C%Z$D$ D$D$]]Uԃ} HA]CUԉ]Ӹ=Zu*|$D$D$ D$$Z^:xZt1$D$D$D$ D$D$ZhZڋ]]䡜[E [u Z H [ HA])C6@uR}L@fC6=Z|$D$D$ D$$Z芍}CEM̊AM<w7 U=U E}M̄u UANE<}KZu1C%Z$D$ D$D$M̋A|Eu%ED$E$D$9M̅ $FM̋AU |$Eĉ$D$ D$9E=Zu*|$D$D$ D$$Z:xZt1$D$D$D$ D$D$ZhZKZu1C%Z$D$ D$D$聏M̋Au3U u"|$$D$ D$8HA$h]UxZt1$D$D$D$ D$D$ZhZ$E}Moʋ Z Z; Z‰U1LHAUJ ɸtAP u|$D$$9'U:…u(ur|$Eĉ$D$ D$1|$Eĉ$D$ D$1]MEUAOEZt0M̉L$$D$D$D$ D$hZKZC%Z|$$D$D$ D$<Z]Mt4L$$D$D$D$ D$hZً]UAOEEEUxZt?KZ$L$D$D$D$ D$hZ=Zu*|$D$D$ D$$ZJ:xZt1$D$D$D$ D$D$ZhZ{:E9C[9u|C0f{4 ZɋEu'D$ D$D$$Z軋EE u]U UJMȋ]MmKZu1C%Z$D$ D$D$@MAOEE]UԋAu>}u+ML$$D$ D$Uv4UHA}u}Uԃ}}t: Zu$D$ D$D$$Z艊Et$,Ẻ$@E$44UKZu1C%Z$D$ D$D$ ]CEU^KZu1C%Z$D$ D$D$裉]CMAOEEU]xpdEC6@UԉٍUu\KZC%Z$D$ D$D$CE̍@Eĉ$D$D$0ٍUKZu1C%Z$D$ D$D$\M̋A&U |$$D$ D$1C0u[Z[KZu1C%Z$D$ D$D$蛇M̋AU Єɋ]U|$$D$ D$0@[[[ Zu$D$ D$D$$Z1C8t c8ẼxDt $;%DžEuXf{4xD}t$V{@u$Y%{?#$fd!HA]UC]]xD}=Z|$D$D$ D$$Z HAUԋEN Zu(D$ D$D$$Zą=$Eut~ ڐ}~Z+Z9v t1]~9u[@[; E}#=[tw[-U`[=[uJ[U EI9u($|[-UZ ZZ]Z+Z))Ӹ=[u6|$D$D$ D$$[NFxZt1$D$D$D$ D$D$[hZ[E܋ ,Z5UEt+[E5ZE ~ }~ [}5[1W;}|C;}:EF6U!u-NEZ]d1F8t f8FxDt 4$蓙%ÅuF>F>F>Dȃ@@wN>u4$4$0]K 4$]NEZu1F%Z$D$ D$D$苂EGE [u$D$ D$D$$[5=UHfC;UD$$ԈLUSWV4ϡ~TEE)ƉGEGEЋGEdEOZu7G%Z$D$ D$D$_EF~Ku1M;MIM#StPSptdrp_WOC< ;M~DIkDL<74uWV|G;M̉quUuU2 @< MUtkDƐV=D9rM;M~UkD\<74uWV|G;][^_[]ÐUSWVP1=E~0u ] UE$uG;=E|11^_[]ÐUVM1$UB9w9Jw F 1| ) kD^]ÐUSWV$u } [) )|1 [9}' 9ʿkD [EE%kD$D$D$E-#EEۉ؉EtI1EE]}ED$|$$pEc9C0FD9|d==U1ɻ$Uu/|$D$D$ D$$U`{u{tcF | Uu$D$ D$D$$Uc}tbE$D$E$MECE CE U1u$D$ D$D$$Udc$^_[]ÐUSWV] EdU1ɾ$Uu.T$D$D$ D$$UU^UE 9^u9FtIG | UD$ D$D$$UbxFF> Uu$D$ D$D$$U;bE;[| ;[r<$D$Eu"^_[]ÐUMtE MkDH=D9r]ÐUSWVU u"L$4$kDƉڋF tEM r )s…҉t/]ML$4$VkD)u݃^_[]ÐUSWVUB;k[B<< uXJM;][Mu1ۍK #u)EC MkDD2<< Mu |̍|2<}]urtEu؋}܃MBET>u؋}܃;2;ztӄuUUԉE]MԉEE;p8;x<tu*~MEt V\tzMuMME܋M @w@EU$@w1ҋED$ED$Eԉ$T$L$ NPM MNpMEE̋@ Uk(<EЋDt ΍LH u~pEЉD tTE؉D]Ļ+];]r]Mȅ]U܋MȋUċD E]ӋE9؉rƉu9É֊T1$wÍD1$ED1 ED1L1MMIӄt)ҋ0u5Er0U+UEE:=EUBA1AKuEH+EMU܋]}EukMDuȋ}L>ME)]EMԁMԁtEET^_[]USWV$}M uVPʁ9t1t1DF8E^<99tȄuM]]tOC Uk(9tu5u +t\]Éރ}t1ۄۋ]t j1CF(p Uk(u9tunu +tu}utu]}Éރ}t1ۋut7AkDD6\y$1y~EM )ӃEtR]HUk(M9L3t PH L3T3]99tʄt1EtP Uk(u9ttى]1-D1ى]9;PtÄr;M;UtȄ]u{MQC\t xM@D$ $T$HUk(USpUڋZpօۉ\tTS USpUT \|UTt$|$t&U:T\t_E:]T BT *uETE25EDD@AU KPсkDL=Ey7A$ЋQ BQ #A$EQE EIAAƉ$^_[]ÐUSWV}d55[u(t$D$D$ D$$[9uU_ptr{$tKu EHKC$CtK H K C1CD06uK $D$nDu끹E [u$D$ D$D$$[=^_[]ÐUSWVMA5Uk(1|>A6t"y=tD>D$D$ $ >\>T>$|>$t]ۍD>ED>tCD>@AEE]L> t!ED>E E5D>L> tP D>$D$ #U^_[]USWVP[tv1[<[?ρ@9w.<$GUk(D @;;vԃ[[u^_[]ÐUE@ Uk(| u1]ÐUSWVuF=Uk(L19Nu]VvE؉+|tIPс1߉ËE u-L$|$_ҍt؉|5z3LTttp5ED$DT t2p ؉E\DU)…ҹ~yщUiMML M}11DD86uE$D$F;u|ȃ}E}| E@=EED E)kDD06uE$D$DOuU^_[]É=E6߉ËET BT " EL EE묋D@A뢐UWV5E1ttNtH ENF$FtN H N F1FD86uN $D$DuU^_]ÐUSWVU1. E Eu U)׉}Nu؉EMYE;E r_611ɐt<ɍu.s ;Mw4;u r#UUuI1Mt 19s@D=|M u1xuNtH ENF$FtN H N F1FD86uN $D$~DuU^_[]USWV(ME@=Uk(9Ltd[u.T$D$D$ D$$[U2UE9ukuUDEtT tF E0E ApEAputp EApEED+ELMDLU [u$D$ D$D$$[/6(^_[]ÐUWVEu ?Mk(t$)Ή$t$D$ $U|$$Qi%^_]ÐUSWV@}<$D$nƅ |$ t$4$D$D$4$D$Td55[u(t$D$D$ D$$[1E11tG+X u [u$D$ D$D$$[4|$\$ D$lj<$D$D$荸<$Ɖ<$苲e^_[]ÐUSWVH]Kd=u,C|$$D$D$ D$0}C$D$޺EUC$D$źE؉U܋C$D$ 謺EUKu+MA$D$ D$D$3E 84$D$D$C% Mԉ)ƍv0;u}tȹ u9K;zvA6)*=xUu;t2EЋ@( 9E}tȹ EEЋBx9E}tȹ =RUEHUu2MAML$$D$D$ D$.E@t$$D$ D$/EHE MA9_D$|$$ӉE]څEй ) )=R׋]KUu/CML$$D$D$ D$-Ct$$D$ D$1CNxL$$D$ D$1=xUu5t,CI( T$ L$$D$g1KEu(C$D$ D$D$u01ɉ1E@x؉D$ $D$ D$-t{uFMԉL$$D$ D$0NEu(F$D$ D$D$/U 1=xUEE@MI( ىL$$D$ D$-teuFMԉL$$D$ D$/FMIxL$$D$ D$/NEEHEɋUu/MA$D$ D$D$.|$EЉD$$D$ D$D$D$ D$D$J,=R}OUu/GML$$D$D$ D$)GMԉL$$D$ D$.GNxL$$D$ D$z.=xUu5t,GI( T$ L$$D$9.OEu(G$D$ D$D$G- m 1EtTÁ=dRt$I{$D$D$=|$\$4$D$ |1$D$D$=H^_[]ÐU]ÐUVP=UtYU4uN=U5[ Zt 9s&̉9sU$Uv^]UVED$D$;D$D$ D$$u~Ep4$D$ D$^D$04$D$4$D$襸4$D$xtH@u$^]ÉD$$DUV$UUd  [„L$D$D$ D$$[&xUZi Z, ZL$D$D$ D$D$D$ |D$D$[$U=Ut=U5[ Zt 9V̉9?Ut [Z9rUsUSWV01]EM CdE M UQ @fFNt$4$D$ D$D$D$D$D$ D$TEED$ED$$ƋEE dždž^|d={du'|$E$D$D$ D$$Mu#E$D$ D$D$(^~u|$$D$ D$FMFDF ux|$$D$ D$Zd ~N„uL$<$D$ D$YFN]HF4$]IKdujE$D$ D$D$p'EFDd FtHF.„uL$<$D$ D$$0^_[]ÐUSWV(}_|\<$D$wDG|GMGO@t<$D$@<$tȄt;LJLJD$HG\$D$ CL$L$$I(ǃD$8F\$CL$L$$F(dOt D$IOHD$Ou3GL$L$$D$ D$wN$T$WuT$<$D$ D$e^_[]$KUSWV8M]u{|dC t T$HC?K[tT$ T$T$$D$ D$MD$F|$E D$ t$$L$(D$0D$,GL$L$$.(ǸT$uT$$D$ D$e^_[]ÐUSWV@M}] ZZ;ZG|D$dG ut T$HG?OtT$ T$T$<$D$ D$~MD$FT$T$E D$ \$$t$(L$,D$4D$0BL$L$$.(T$uT$<$D$ D$e^_[]ÐUSWV`Uz|1qdME  ;;tȄ9G  |7\$$D$ L$L$ED$E $,&D$(D$1L$1\$$É\$Me D$(ʉM dUBt\$ HBBD$,LL$BD$,Jt\$ $\$\$ D$,$D$ D$L$D$8HF|$ٻD$4 L$0@ D$$|$4$D$\$ &D$,T$(|$4$D$$D$\$ &ƉDŽ$HFL$4$D$($D$,$DŽ$$$DŽ$DŽ$A$L$$t (Å5$$!ƒ\$0Lփ lj$$!$[莒FF$d=$,$D$8@؉߉F $$N,F($t$$蝗D$4D$TFFxF| ZF(N, NFHt$$Q4$D$D$T(^dž4$o4$D$[菕t6DŽ$DŽ$D$8@؉ߋL$TL$$;%d5L$D1u t$D$D$D$ D$詫D$LL$<H?L$PAu8L$Du&t$D$D$D$ D$kHAD$H@D$H\$T1;D$@ЉT$ED$<$D$ D$QEu E99t L$$D$E}|$4$Qw\$̑TD$D$D$HENjFXD$<$D$ʑM"F$D$HEړ~E44B 4B99t L$$D$4B?4$QE$<"C;]Eo$D$x"Co1$^_[]ÐUSWV}] $Ɖ\$<$9 NjFDD$$(!E D$$Q ^_[]ÐUVPuE $}w%E$8IDIL IPITIX1^]ÐUSWV(}E $)ƃ}^(d MN8u'ED$$D$D$ D$-]19~PFDML$D$D$ B D$ D$$RÅFPE䐐FD|$D$D$ B D$$)Ã#t҅uH~PF<t uF}Et#1ېD$t$<$C;]Er$D$E蔌1^_[]ÐUWV(} GXt$D$HE^GXGDOTUT$L$D$D$ D$D$, D$ aD$+$ƅu7E$D$HEGXE$G\E$D$Eы(^_]ÐUE$D$1]USWVu4$<lj4$D$D$, "Ed_$w$u$\$4$D$D$ D$G(tFG(O$u 4$D$ D$D$G<$52u 4$D$ D$D$QE^_[]ÐUSWV8u E$9NjGTML$ML$ t$D$$r }؃}1EED$E $NjE؋XT<$OML$ML$ D$\$$ É<$Guuu1ۃ}EutGD$E$nlj<$DOD$E D$4$<$9GC;]Er$D$E耉uF;u3E$D$E`18^_[]ÐUWV(} GXt$D$HE.GXGDOTUT$L$D$D$ D$D$0D$ aD$$ƅu7E$D$HEeGXE$G\E$D$E衈(^_]ÐUSWV} Eut$|$$^<$]<$ƻ$B$B 9t L$$D$$B蹛ED$ |$4$D$Q}uX<$0ƻ0B0B 9t L$$D$0B\|$4$D$ D$Q^_[]ÐUSWVu} Et$|$$4$D$̑t4$D$<$zƻ$B$B 9t L$$D$$B覚ED$ |$4$D$Q}u~<$ur<$ƻ$B$B 9t L$$D$$B=ED$ |$4$D$QED$D$4$ ^_[]ÐUWVD$ D$D$$tAƋED$4$F} ?t4$D$/I|$4$F4$J^_]ÐUSWV}Eu?UtH Uu$D$ D$D$$tU)d Uu(\$D$D$ D$$U W DžuE Q $cǹ Uu \$D$ D$$U'MtutuAuu8UtH UuD$D$$tU-^_[]ÐUSWV,Ӊυ}]𐐐d Uu,T$D$D$ D$$ U苿[)ul$D$ D$D$D$D$D$ $D$D$U-L#Cй Uu$D$ D$D$$ U[sl)߁)ف9r؋]9߉w}|$$t$&$$[U$')|1,^_[]ǀǀݐUSWV0UMd<Uu(\$D$D$ D$$<U޽=$U Z=Zgfff-Z։D$t$D$ D$D$D$ D$D$,U$$U,Džp#g <UD$ D$D$$<U'OtHO (U <Uu$D$ D$D$$<UGMMtGw<$D$EE010^_[]ÐUSWV(]u D$D$ D$D$$;ljt$<$qA;t<$D$/\D\$<$PA<$hE<$FD$$@D$D$D$ D$D$D$$D$MCƉ<$=uuEL$T$$1e^_[]ÐUSWVUM1ۅҿt>1EMD~+EΐG4$t0;ur1ۋE8u$D$D$E}EM t$ut$$$4$D$EUt0EM߉Ȑ1tƉ$[\9rE^_[]ÐUVEM Uut$ut$ T$L$$1uE$D$E~^]ÐUSWV(u] D$ D$D$$9lj\$<$9?>t<$D$/$Bt$<$?<$0C<$CD$$\@D$D$D$ ED$D$$D$M Ɖ<$;u EL$1e^_[]ÐUSWV(u] D$ D$D$$8lj\$<$Y>>t<$D$/DAt$<$8><$PB<$BD$<$B@D$ED$$hD$D$$D$ D$D$ MƉ<$:e^_[]ÐUSWV8Ӌu} D$L$(D$$\$ D$,t"N1U JuD$,u?UtH Uu$D$ D$D$$tUd L$ Uu,D$D$D$D$ D$$UUL$ Džt|$$ R\$} t1ې ދTTDžuC;] rUD$$L$ |$$q \$T$ Uu T$D$ D$$U3tD$ utuAuu8UtH UuD$D$$tUk$|$ MuEt$1D$4$mt1G vt$D$$ɋD$t)<4$D$Ez$D$Eoz1e^_[]ÐUSWV ]u D$ D$D$$w5ljt$<$:;t<$D$/=\$<$:<$><$x?D$$ @D$D$$D$ D$D$ MƉ<$A7e^_[]ÐUSWV ]u D$ D$D$$4ljt$<$:;t<$D$/=\$<$9<$><$>D$$<@D$D$$D$ D$D$ MƉ<$q6e^_[]ÐUSWVX],1ۅtD$(߉D$ D$D$$3NjE D$<$9u>t<$D$/s"t M1t1^_]ÐUSWV]}D$ D$D$$=.Ɖ|$\$4$k54$74$[8D$ ED$E D$E$lj4$D0^_[]ÐUSWV]}}D$ D$D$$-Ɖ|$\$4$44$074$7D$ ED$E D$E$Klj4$/^_[]ÐUSWVEE;UBE 1tmBErB EZED$L$E D$E$D$ u2}t\$t$<$8Ɖ<$D$Eiqu^_[]ÐUSWV@]~TD$8\$|$/<$D$}UtH Uu$D$ D$D$$tU~d55TUu(t$D$D$ D$$TU@UtX@UC@U TUu$D$ D$D$$TUCD$$g@D$|$ <$V@D$$D$$D$ D$D$11ɺtDž5TUu(t$D$D$ D$$TU)tKHK TUu$D$ D$D$$TUUtH UuD$D$$tU~T;D$8u e^_[],wUSWV@}~TD$8|$\$/$D$-UtH Uu$D$ D$D$$tU.d55TUu(t$D$D$ D$$TU˩$D$D$ @U q9uetOHO TUu$D$ D$D$$TU_GD$$@D$\$ $Ͽ@D$$D$$D$ D$D$1ɺtOD$ L$D$Ĕ$|UtH UuD$D$$tUpUɉu,\$D$D$ D$$pUR\$XUtU;9KuFCu\UGC8C$D$El$D$Eulut$ pUu$D$ D$D$$pUϫF@t;U5Uu(t$D$D$ D$$U,=Ut$D$ D$$Ur TUu$D$ D$D$$TU UtH UuD$D$$tU~T;D$8ue^_[];sUWVu `B`B 99t L$$D$`Bs~4$D$ D$D$Q^_]ÐUE$D$1]USV0EU$D$UZUt"D$D$$iyfD$ D$$t$ l+]@Ѕt$D$D$ D$$1D$(UfD$ D$$l+]@Ѕt$D$D$ D$$r1D$(U $D$B$[$U(U$UXU\UXUD$ D$D$J$ U!D$ D$D$T$<UD$D$_$UD$D$h$UuD$D$y$tUYD$ D$D$$TU腱D$ D$D$$pUaƅD$D$D$_D$D$ D$$Q莑ƅubD$@tUD$D$D$ D$D$$THUWU$UFe^[]ÐUWVE$Mƅd==Uu(|$D$D$ D$$tU= U1u(|$D$D$ D$$UR^_]ÐUSWV@~TD$8#d5 Uu t$D$ D$$Uv t$=@Utn\$/t$|$$D$GD$$荸@D$\$ $|@D$$4$D$ D$D$1ɺ0?uuT$ Uu T$D$ D$$tU4$e~T;D$8u 1e^_[]mUV [ 9t-L$ D$D$$[ $Uz'U UL$$D$UD$D$D$ PQD$kq'1tt$D$$+^]ÐUWVd55 Uu(t$D$D$ D$$ U [$= Uu$D$ D$D$$ U^_]ÐUSWV$%t$D$ D$$Ud55pUt$D$D$ D$$pUY| ZZgfff-Zډ׉D$|$D$ D$D$D$ ܖD$lD$`U$XU =XUx pUu$D$ D$D$$pU订5Uu(t$D$D$ D$$U"5pUu(t$D$D$ D$$pUXUt$Ku \UHK pUu$D$ D$D$$pUΡt@CH tS{ |$T$$ыC$D$Ea$D$Ea UUSWV%4$D$Ea|$$pD$D$E$$t_ƍNDžuF@$D$D$EC_ËVDžVFF $ Fd==TUu(|$D$D$ D$$TUGF@$D$D$Y @U$D$E`^d==<Uu(|$D$D$ D$$<U赛(UF05(U$$U <UiD$ D$D$$<Uu@ 9uF=pUu(|$D$D$ D$$pU\UF05\U$XUI pUuPD$ D$D$$pU连*FF$D$E_4$D$E^ TUID$ D$D$$TUU UPU$U$]$Uц]ÐUSWV,Ӊυv}]𐐐d Uu(\$D$D$ D$$ U荙[ )uh$D$ D$D$D$D$D$ ՖD$D$UX#Oع Uu$D$ D$D$$ U[]sk)9r9ߍ0w$D$}<$t$4$$[U$-w')1,^_[]ǀ ǀU D$D$D$D$D$ D$D$оE$薻 ]ÐUWV D$D$E$ LZ4$D$0]čDžt4$D$E\ ^_]ÐUSWV(E$LM 9 5Z=Zgfff-ZӉ $D$\$D$ D$D$D$ D$D$o#fNu M @ ~~.; t&%t$$D$2t1(^_[]ÐUSWV} wE$6EH1v D|$t$$MqqQ19rAv `~¸MED$ $3EHu1Ʌtn@9Btdu^u}D$D$E$ XƋE$D$D$螲FEɉtqE0EF&ыtQPQ $D$EYE 1Ɋ\A B u܉$f EHt)U싰 0 F BIu$+ E$D$E(YE@1^_[]ÐUSWVu>tJG$D$tOHO<$D$EXۉuĉ4$D$EX^_[]ÐU D$E D$D$$U]ÐU]ÐUV MtHu u#AUT$ $1t)EuEAUT$ $P1 ^]ÐUV MtHu u#AUT$ $1t)EuEAUT$ $P1 ^]ÐUMtuA] uA]`1]ÐUMtuA] uA]`1]ÐUV MtHu u#AUT$ $1t)EuEAUT$ $P1 ^]ÐUV MtHu u#AUT$ $1t)EuEAUT$ $P1 ^]ÐUV MtKu u%AUT$ $1t,fEfuEAUT$ $P1 ^]ÐUV MtKu u%AUT$ $1t,fEfuEAUT$ $P1 ^]ÐUV MtKu u%AUT$ $1t,fEfuEAUT$ $P1 ^]ÐUV MtKu u%AUT$ $1t,fEfuEAUT$ $P1 ^]ÐUSWV } E1t"t4u6HUT$$t#]]HUT$$Qt ^_[]ÐUSWV } E1t"t4u6HUT$$t#]]HUT$$Qt ^_[]ÐUV MtVu u*AUT$ $1t7}$u>EAUT$ $P1 ^]ÐUMtuA] uA]`1]ÐUSWV Mɸuʃ1˃t)׋U tCtyurFL$T$4$P1t[tRF|$4$D$UP;FL$T$4$P 1t"tF|$4$D$ P 1 ^_[]USWVu} U t:t\EBML$$E"EEBML$$P\7E} ;Mv;tru-$D$PDZQu&$D$D$PDO߃1كt) tuCJ\$D$$Q 1ɅtnteGt$<$D$ P <uGJ\$D$$Q1Ʌt0t'Gt$<$D$UP$$.1ɉȃ^_[]ÐUEM L$L$$D$ ]ÐUWV} ut(uF|$4$uDF|$4$Pt3UEJt?9:tJ uMt D$4$1^_]ÐUSWVE utu$菡‹1t*tFFML$4${U!UFML$4$P1U;ULɉtuu#$D$PDNE Au) $D$D$PDLM ׃Et )щMɿtJuxN\$D$4$Q1MtpɿtgFL$4$D$UPNN\$D$4$Q 1Mt4ɿt+FL$4$D$ P 1$=1^_[]ÐU EM L$$D$ ]ÐUSWV}t}] u:GML$<$1t`GML$<$tMEMC ;u5KMEGML$<$P1tEOD$<$Q1^_[]ÐUSWV}t}] u:GML$<$1t`GML$<$tMEMC ;u5KMEGML$<$P1tEOD$<$Q1^_[]ÐUSWV}t}] u:GML$<$1t`GML$<$tMEMC ;u5KMEGML$<$P1tEOD$<$Q1^_[]ÐUSWV}t}] u:GML$<$1t`GML$<$tMEMC ;u5KMEGML$<$P1tEOD$<$Q1^_[]ÐUSWV}t}] u:GML$<$1t`GML$<$tMEMC ;u5KMEGML$<$P1tEOD$<$Q1^_[]ÐUSWV}t}] u:GML$<$1t`GML$<$tMEMC ;u5KMEGML$<$P1tEOD$<$Q1^_[]ÐUSWVE 0]\$E$1E M9w1u;Es E8uZE1u@}}}<$D$D$PDGƅE 0to|$4$%$}t$t$E$U;]suCuE8uE Ƌ$D$PDH^_[]$Wr1搐USWV}t-] 1\$E$U1t ]F9r^_[]ÐUUE@pM HtH @]Ðʋ uP J H]ÐUVu 4$D$t%EH 11uH I H4$%^]ÐUV Ep H9tʋ 9u@@ t@D$4$ߴ.D$fD$ZL$L$$D$Ɖe^]ÐUSWVu }<$D$tEq]W P @Ut>t:J @)9wB|$\$$R$U)Exx;z u뤋Eu ȉ^_[]ÐUWVuE 8ω}4$D$t8ED$4$D$^_]USWV]} EP P @Ut>t:J @)9ىwBt$|$$r$U)Epp;r u뢅^_[]ÐUSWV(UvE D$EX D$֐KrKK D$+1uKH uKCLCPK )ȋS MI)9wKL$D$$|$蒸$EAAK 9vC |$)9uAKrCL$)u(CHuCKLKPC )t 9"puST$CuD$fD$ZD$fD$ ZL$L$$D$T$MA A9e^_[]ÐUVMQ1tq 9t1B t9uA^]ÐUWVU EHt1+q v ɉuω։x p^_]ÐUSWVP]K 1҅t|E ;t q [)HAs#1u)AHuAyLyPA )AA ؍q [)ߋE 9rNjAبu9UZvY ‰Ѓ^_[]ÐUVPu>uFt$FF ^]UMEM uPHH MH]ÐUMQ1rE QQ ʉA ]ÐUMQ1rE QȋQ Q ]ÐUWV u}O1)r!E OO t$L$$0%w  ^_]ÐUWV u}O1)r!E OO t$D$ $%w  ^_]ÐUMA +A]ÐUVMQ qu Q19w q )Q^]ÐUVM Ur1)r rB J ^]ÐU]ÐUVUu M1tu2yrBA ȉ2rT2q)rqQ uAB^]ÐUWVuN1r3} NF D$E$D$踃%EȉF ^_]ÐUVuN1r3E NȉEF ML$$D$b%F ^]ÐU1]ÐUSWV E 0]uEte1u2}<$D$D$PDm=ƅE 0tB|$4$z$Et$$Љǃ;u4$D$PD3?E ^_[]$ܘ1USWVu ]>EED$$V1}ty6uEtr1u2}<$D$D$PD<ƅE 0tO|$4$诱$Et$$Љǃ;u&4$D$PDh>E ^_[]$ܘ1搐UVPD$ xD$xD$ yD$yD$yD$$yD$yD$yD$0D$D$4D$DD$<D$@E D$D$0$UƋD$,$Et FD$@C=D$<CviU iUv iUiUtdv,ǃ$'iU4ǃ$'iU#vvCiUCiUE&9 [^_]VSL$\$D$0v΀iU΀iUtYviUiUt&v iU iUtsᐃv530$'34iU63P$'V3TiUv[^ÐSL$ f f; r fǁ  | T$  ,[ VSL$T$t$\$ &uff% fS % ЉC҃A ЃACtAf% fA[^Ít&'L$T$v uA1A2BA3BA4BA5BA6BA7BAvt#A8BA9B A:B A;B A뤍D$4 PP@ iUÐt& $t$|$|$t$_ V$Ѓu u~0uh$tXtOG\8wu1 8rttG\$ 8sË$t$|$ ÐWVS|$ t$$FT_+t&P t&u8uF& t$<$[^_Ív' D$f@2@&D$$ Í'VSD$ 0D$$tDC(fpK(tD$\$4$ݷ[^Í&UWVSl$0}+t+D$4@ tT$4B u E+f9wT$4B(t%XUD$$T$4B(D$,$dD$48T$49B8uD$D$$ƃx 4xOf}<tgCf;Fu]f=wW(tJUC(fpUK(tC!D$\$,$蠶E<9wF @lF(u!,$eF D$D$,$_F P@T$D$$RF 8D$T$$F 8D$T$$wF T$4j t$,$T$D$49P8D$4@(EX iUt EX[^_]ÍWVS t$0>_+t1 9u  D 9t8uщ ~Atx 9AulA4tA4\Q, Y,B 9tLz u9z u/A4D$D$ T$L$ $ R B 9u [^_Í&\$ t$|$l$\$ |$$GXhWfwtF4V3D$D$@$؂;FTuuFT$H2+vL$@1@, 3\$,t$0|$4l$8<Ít&D$,D$ D$(D$D$$D$D$ $bÍvUWVSLl$dD$`X fE(D$0D$l$T$`$mt D$0[ E0%=$QUf ‹t$`tbfw|$`li(D,@?fwt$`i D@|$`iDT@T$`2@,D$i ‰T$ D$D$$eUfw‹|$`u0fuE2<fws‹|$`tD$HHD$HHD$H`EvtD$HHD$H@ D$H`T$HE\$`f BD$H`Ƈ \$à\$!$?\$%$-DU0E0DBABAB A t$ t8<EM t8E<t$W ˆWFffGt{GCGntjD$D$ D$HD$l$D$$EvtD$H@D$8D$7D$ |$l$T$$Evt L$I\$ct$`|$,T$f\$ك E0%=u4D$DD$ D$\$D$$D$G@D$Gf}0uME2<wBT$$T$L$` $~zD$DD$ t$$F4D$\$|$<$:t&D$D$T$`${`tC`D$4$vXS3\$4$a9Ti(lD$[^_]É<\$,t$0|$4l$8|$@w,.Ft Ƈrgt&Ƈ|$,$}D$D@Nx`tD$D`D$,$(uT$DPB,$RWFƇL$DAL$,$},$"ƇD$Dx`t`D$,$tO QBAT$DPB&t&G4tx&t|$D$4$覍FFW0u ~ u0D$D$ GMD$T$4$輑QD$ D$'N8L$D$$gD$(FC!C(K(f!K(f!T@C(D$l$ ,${`tC`D$<$RbSf<fwi(l@,xOCf=w#8i @x"C8i@Txt,\$<$萇XSD$$PCL$$AKPD$fD$(l$l$,D$0L$(D@Hf<fwi(l@,@]@f=w 8i @@)@8i@T@\$,T$C |$SD$8$')L$X\$ ǁpT$8iU Ɖ2$!L$8\$XD$,iUD$8$'蜱T$XL$ ǂp\$8iU ƋD$80$T!ދT$82L$XiUD$LD$S8E+v%$TpSCP~ t \$<,D$<9X,u˅t8F2}+t.\$<C tˆL@F28M+wD$D$D$<$hD$4T$4DŽ }+D$D$L$< $[h\$4\$,$苨( t % D$<,T$<9B,D$L$ $4X\$DP9P(\$D$$X{% uC,@T$$蛩CB{Ot,$$臯{OuC :@l{Of}<t&0tmFf;Cucf=w](tPUF(fpUN(tF!D$t$,$FuE<9qC(u,$c$C D$D$,$C P@T$D$$R譯C 8D$T$$@C 8D$T$$#C T$C 8D$T$$!C8D$T$$D$D$8E ,$'|$viUiUu f,ut$<$<$ح +t4F tD$L$<$8_+wD$ D FF,9F,u*F89F8u"q$UhSCP} t ^,t&9^,u΅t_E2+tUvF tÈT@E28W+v&Ftt$<$*D$4$[^_]UWVS |$ o(s+tW 9uFt& D 9t 8uv!эiUэiUtl$D$$ D$$ [^_]UWVS\$4D$0D$xT7Gt@5T$B5<tu<r<<t&:L$A5L$4$QLCO{`tC`D$4$CXS4$"gD$@6@5C\$4$mL4$GGL$B{`tC`D$4$bCXSD$x&u  u"D$D$<${\&D$o8,$薢ËE]+CS t8T$D$$K(\$D$<$\{Ot4$${OuD$T$8W wL$ $ӱgD$ǀ{`tC`D$4$WBXSD$D$<$[G89G8ō&,$蘡Ë@ tg@l4$C D$D$4$IC 8D$T$$C 8D$T$$ϹC \$4$|f9o8sT$T$4$3eG(XiUtXGt\~+t!G t G u8N+wى\$4$豚|$4$uGDŽ [^_]Ð&,\$t$ |$$l$(|$4t$0F,D$(O(f؃D@UpEtiUG!G0%=u)D$<$)D$|$,$hO(tD$<$,$=<e$ƆD$|$T$$W7ƆD$|$D$$WƆt$D$!T$$XV0t-FMD$D$ D$T$D$$!]T$B D$D$,$ШƆ~0tHt$D$!D$$vXFMV0D$D$ D$T$T$$\JD$D$!D$$*XT$B D$D$,$> ~&tt$D$D$$Wt$D$T$$WN tQBAF'F&~Ot!&,$$|~Ou~0tVF BF0h0V4t FMD<FBD$h tD$D$$)V0tFMD$D$$F @l,$F D$D$,$ F P@T$D$$RџF 8D$T$$dF 8D$T$$GF t$,$aT$zt^z t8\$8v$hSCPx&uT$8B w׉T$8B wBT$,$\$t$ |$$l$(,Ð&UWVS,l$@ETD$$ D$(l$$`}6vE5u9u4$ƛD$ ET$ PrUf{<0 L$D$0^Ff9E$P 9T$(tF 9!‹ uf%f9u9t$ u$4;T$(uFf=T$$z4BF(fpN(tF(N(fD$ыD$!N(f!T@;t$ t"VPpT$VF(D$L$ $謙m)f9{<D$$@tL$ ABL$,$,[^_] UWVS,t$@T$HT$ D$LD$$>D$Df{0u+C2<w N(D$ T$$uYA5D$Kl&f{wCi(‰T$D$ D$$uD$ƀ{ufD$ D$$CCv CT@mt!HXtS@tC,D$T$ $4E$4 @L$AB‹iUVSfFH4 DAB‹iUfFLfFNfFPVR4 LAB‹iUfFJ4 HAB‹iUf VLf VN%f FP{uC!f{0uC2<w $L$ T$#!C0%=4 @L$AB‹*-iU4 DAB‹T$iU4 HAB‹25iUCv KTAnC ASfAHT$fAL\$fANfQP4 L\$CB‹iUfAJ4 @CBk\$<$]yX iUtGX=9x8yy2C(fpK(t,[^_]Ð&S\$L$C09K uA<tV<(tR8u4L$L$4A< v D$l$$#$(Pu[^_]Í',\$t$ |$$l$(\$0D$4D$C,(,$$ƅ ,$!Džut$,$VHT$PL$\$G$Mgdždž 0\$G$f\$ t$|$l$UWVSD$8D$T$0B,0l$4 7t$9D$L$Ѓ<Ct Cxt5{tmuCD$t$D$0$8Cv@ـ{t8uɉL$t&D$D$t$D$0$x8CwC\݃D$;\$BD$D$0$[^_]ÍUWVS,D$@D$ T$DRT$+L$DQf‹\$ tbfw\$ li(D,@?fw\$ i D@\$ iDT@T$ 2D$@,D$$li(4|$+fdžD$Dx0@2<t_<w <'<t8< mL$DL$4$X\$D\$4$CD$DD$4$@.T$DT$4$\$F,@$cdždž 0\$F,@$bF&L$I\$ 6ID$ d,$gƋT$ hh.V2~&~%󀾵WN$щЃu)t$t$ FMD$F0D$L$$ $_$ut\$\$ $>\$D$ $ƆL$  B88u{tw\$[D$ d,$fƋT$ hh.V2~&tF%<"t< uD$ 4$CDD$ 86wT$RL$ Ƅ1\$$\$ $}|$+D$Dx\t\D$T$ $L$DL$\$ $<|$+tkff vfdžD$ 4$4D$ 1D$@T$ ,D$$l&,[^_]Ð$t$\$ t$T$L$tDt@t<|$t5fw.t!B0B1B2fJr D$B|$t$Í&'|$% T$RB ÐVS\$L$0t$8D$ f="'wIf= 'syf=@!tsf=@!wf= !tff="!t`f=Pt&u`Tf=D!tNf=D!rPf-'fwFt&6f='t0f='t&wf=$'t f='t&u f=tf=tf=ru @D$D$D$,ffD$ D$$fD$(ffT$4fT$fD$[¸t&=uȃ Í D$9t $Zȃ Í D$9t$Z@ȃ ÉUWVSD$D$D$vT$L$ ,<D$ff=wwi {0tP{(&<$8ZHS,C,yQ y&uy%wA't A tP8K0w舃iT$yt<‹Dfwi DPiDTPt&Qffwi D@iDT@T$0:Bu%A0%=tD$AL$$-1AGft;t[^_]É'\$ t$|$l$l$ |$(u4$IÅuD$,ƀv4$…u\$4$T$,ƂfC0C1C2KL$$A3fCEC C,BC@S\@B@P C|@HD$CH$B\$4$C\$ t$|$l$ \$ t$|$l$l$ |$(D$,D$u4$RÅ4$0…tzC0C1C2KL$$A3fCEC C,BC@S\@B@P L$H C|@HD$CH$A\$4$l$B\$ t$|$l$Í\$ t$|$l$|$ l$(74${Åtr4$]…tdC0C1C2CL$$A3fCC C,BC@S\@B@P C|@HD$CH$@\$4$裪\$ t$|$l$ \$t$|$|$ 74$Åtm4$…t_C0C1C2CL$$A3fCC C,BC@S\@B@C|@HD$CH$,@\$4$\$t$|$Ã\$ t$|$l$t$ $[?$>ǀ02u 8F0sF0 u߉<2Dm,`uэR@Y 2LPX\ddh0Dm,\$ t$|$l$Í&\$t$|$t$ X $O>$=¸À0uf9sf&=uˀÈi(l$lfDlD&lD=lDlD@lD?lDAlƄlƄ4$l~5u lL(l\$t$|$Ít&'S\$T$]8$[Ív'\$t$|$t$ $<$;‰.u8s &πÈi$#fD$~5u fD0D&fD2fDŽD$8$\$t$|$Ðt&VSt$ D$$@$0Ƅ0ۉ\$ $*;i۰x4t D$4$*D$8$D[^Í&'S\$D$P3ƄD$ $:D$8$[S\${(tCXD$T$B$6C([ÍvS\${LtD$T$B$Y6CL[Ã\$ t$|$l$\$ l$$Ei(lD$$Utx|uDŽ&EƄljD$X $9lxBt D$$l$$lD&lD'\$ t$|$l$ \$ t$|$l$l$ t$$f~0F2<Ff=|<cik){9{tl<$399uA\$,$!;{(CXC`[dCXD$E$4C(CPzSFBFBFf=lF0%=i(kO{9{tn<$e89uF\$,$;{t^ǃǃ D$E$/3CL)CPzSFBFBt&\$ t$|$l$Í\$ t$|$l$|$ l$$U(f!D@ftI8t7!t$0 $6l$<$l$<$s\$ t$|$l$ \$t$|$|$ t$$f~0F2<Ff=w i°{(u8Vxti@BCXC`[dCXD$G$1C(SsCV2C)Ff=w lF0%=tgi({LuDVxti@Bǃ D$G$1CLSsCV2CO\$t$|$É'UWVS,D$DPf/‹\$@tbfw\$@li(D,@?fw\$@i D@\$@iDT@T$@2Dm,D$ i ‰T$D$DP@B<t+<6DmT$@6qDmD$@,L$(Z \$&RT$'6tjDmD$@0d,$g4ËT$@hh+SL$9K0uCMT$D:Btt&D$@806wT$DB\tD$L$( $D$DD$T$($_|$'<w5t1D$D$ L$DAD$C0D$\$ $)t%<v!C'C&c(\$D$($]+D$'D$ D$&D$T$T$L$ $߃DmD$@d<$(3T$@hh9Q D$9A0uAMT$D:BtT$@86wQ$Ѓu(t#L$ \$DCD$A0D$D$ $T$DB\tD$L$@ $\$D\$D$@$-T$@1Dm,D$  O,[^_]ÉUWVS l$ |$$\$(C'C&\$D$<${0tSC BC0h0{Otv,$(u$3{Ou拓tD$D$$1S0tD$CMD$$Bs ~|u~C(u,$֨D$C D$,$/S BD$BD$$R 4C D$8D$$IC D$8D$$IC FlS4t CMD<CBo \$,$tO t9w8&4$0W t&[^Ðt&SD$ 0 $e*D$@u[Ít&' D$9t $*ȃ ÐD$ittET$É'T$L$ DJpfDJpRËT$&;2t¤ ufÍvVSt$ L$\$882u892uiƄ1¤ u[^Ð&UWVS|$ D$$D$l$T$(]\$tWt&9Gu(:\$uitET$(&t:L$u[^_]ÍUWVSl$4\$<|$0|$8tw#D$|$@T$@T$WD$t+D$9Gu8tD$t8T$ul$ittED$dD$D$$+#tEt_ݍpET$&T$\`K(GP@CBABAB A T$8BwD$ittE)9GÃt8uÃ[^_]Ít&UWVSD$$D$\$(f$|$i8 D$9D:upLvQtuHi8 [Ѝ :\$YD$ A A$fX\$X‹\$,BCBA0 =ur[^_]Ð&UWVS l$$t$ ~tIitEtD$l$E$ 'u8Fw»؃ [^_]ÍvS\$D$D$$x EjttO>uD$,$c [^_]UWVS,D$DD$T$@T$ D$T$@B*T$T$D$$D$@x*WD$T$ 0T$T$ 4PT$T$ TD$$D$(t&<t,<r<u4D$$ D$($"D$$D$(D$$D$( t$T$T$$V|$T$$D$$']iU\$D$$D$$A4 \$T$$T$$]EiUD$D$$D$$D$(T$$']iU\$T$(T$$?\$D$(D$$x]EiUD$$T$$'"iU\$T$$T$$2A4 \$D$$D$$iUD$T$$T$$T$(D$$'iU\$D$(D$$?\$T$(T$$iUD$D$(D$$xT$@z*D$D$$J|$v!T$ $']iUD$ $'iU\$D$ $ذT$@z*uÀ &À\$D$ $|${]EiUD$D$ $D$$'?]iU\$D$$N\$D$$0]EiUD$D$$ T$$']iU\$D$$\$D$$]EiUD$D$$D$$'I]iU\$D$$X\$D$$=]EiUkiUD$D$ $ T$$'iU\$D$$\$D$$iUD$D$$D$$'QiU\$D$$a\$D$$=iUD$D$$T$$'iU\$D$$\$D$$iUD$D$$|$vxt$T$ 0$'OD$ 4iU\$D$$T㏃p\$D$$6iUvt$T$ P$'D$ TiU\$D$$㏃p\$D$$iUD$D$$,[^_]Ðt&\$ t$|$l$l$ }wJ |މ8uhCD$ CD$CD$CD$CD$CD$ CD$D$$(|$`G|$,$tt&D$<|$<6,$HÅND$8T$8 tK5D$8L$8 tK5D$8t$8 tK5D$8|$8 tK5 D$8T$8 tK5D$8L$8 tK5C0ߋD$8t$8 DP@CD$`C$T$`B}+t0t$`F tˆL@C28M+w܋D$`H0S P0D$`,C K$T$`B4D$D$ |$T$ $_,$藪Å@'@&fǀ@$@%@D@HD$8t$8 DP@AA|$`{,<$fK8<$T< vfK8D$`@ P25,G5teP|t.@|DŽD$D$$3vt&ǀDŽ$ҍ@C\$<$92<ЍR,\$$ xxPRd,$};hh)Q y&t Y$ӉЃu)tGL$ AMD$A0D$D$$$]L$<$:L$<$ t&86DD$5t&;tmJ|tfzlu`,[^_]ÍWVSt$ >4$t_+t1V t!Ft$<$\u8u<$Wt?V<$/uƃ@0@1@2CfAAxA A,A@A|L$<$w<T$$s,><$uƃ@0@1@2CfAA A,A@A|L$<$;Eډ2><$8K<$~K>uƃ@0@1@2H3CfBB B,B@B|KAT$<$;T><$Z~uƃ3@0@1@2CfAA A,A@A|L$<$:><$}uƃ@0@1@2 CfAA A,A@A|L$<$D:><$}uƃi@0@1@2@4CfAAxA A,A@A|L$<$9C&S$Ѓuu{4u4$襻{'uC,\$D$D$0$Fu~8~ `|vV(Z*B9}6CB*B+B&B2fB2T$T$0$Oe9t~8~ u4v/B&B2fB2T$L$0 $ <$wF\$t$ |$$l$(,Ív',\$t$ |$$l$(l$4u,EL$0E&<<w;< < w<S<<t&t&<<w<t9<wG<t]<gD$,${}QD$,$a}7D$,$v,$e ,$uE9t,$~,$,${,${E&~ ~8v<$H‹FF&54 LF4‹iUfF 4 DF4‹iUfV"f F f@Au F&f~"߃$F&4 DF4‹iUF4 LF4‹iUtF tF Ѓ FF+<F&G4 LV4ЋiUF,F&F&F2f%fF2D$4x\t\D$,$KT$4T$,$JG|$,$,F&F+F+:Fs F&F+F&$ 臬F&F&t&{F&rF.F&Z4 LF4‹iUۋ4 DF4‹iU虬u F& @ 9yF.< wF&F.F+|<D$ t>D$_8$۩D$F+L$9LBn\$t$ |$$l$(,Í\\$Lt$P|$Tl$Xl$`|$dWffwli(D,@:vfwi D@iDT@D$@Rd<$+hh9Q A%<"t< uAf;D$>r fD$>L$@86w|$@?T$@z&1B&T$,$u F%v"u F%N( AtfN8~%uJEf= 'tf='u:\tG\D$,$?|$,$>t$L$8L$,$l_@t[Vd(u􍖌uNdSCFdBABAB A BABAC ~%F&D$6f$'%F&O@QA A A ‰A A A ЉFDFHuf$'觟F&NufN8F&:F& 1 u2|$=t|$=u$D$6f$'SF&\tG\D$,$U=|$,$D$@8tAD$ #AD$ AD$ AUD$ A/AAD$ AC4C5AC3AD$ C3AC4C5AC6AC7AC9A C8AD$ rAC4C5AC3AC6AC7AC8AC9AD$ 4D$ C4t&ApAAAA@D$ D$ D$ [Ív'<\$,t$0|$4l$8l$Du@|$ t Fx}0%ugD$ D$ D$L$uD$D$T$D$D$$8D$ D$ D$\$D$D$D$L$uD$D$ &vT$D$D$$ U@D$ L$D$$N##\$,t$0|$4l$8<ÉVSL$ \$$Q,2C0u_ iUD$ =t =uB ǃ ǃ ǃ <ǃ ǃ ǃ $t&ǃ PEǃ pE$[^Ív'<\$,t$0|$4l$8Ɖ׉L$hD$@<v؋ HT$(|$\$$T$("'6u iUD$(T$Ћ\$,t$0|$4l$8<Í'S(\$0 H T$$D$4D$D$$LT$$'uC-9iUT$8Ѓ([Ít&'UWVS,ÈT$̓|$@{ HD$D$$T$(T$(' u* iUD$!Љ8u (T$($ @q;t$@s,[^_]ÍS(Ë T$$D$D$$T$$T'hu$$tvЃ([Ít&,\$$t$(\$0t$4D$#D$#D$t$$ur|$#tyBt_ H T$t$D$$UT$'u$"t &\$$t$(, UWVSC?Rt&(C0C1C2C3C4C5C6D$fC7D$C8C9$ TEl@fCCk C\@C@D$E`C,fC$ ElCDC| D$D$$QC,D$ C\P@ D$T$D$$Qƅ\$D$$LtxEltqtofuD$D$!@,$ f$lRD$$Eltt릸{tv ft߃[^_]Ðt&l\$\t$`|$dl$hl$pt$t|$xD$|fD$ $T$]l{%u$R|C,D$DUxT$8fDž'$D$@Lf|$ vD$ D$$RD$8$D$|$t7D$K T$<BT$LT$D$$$`"T$@z\tЃ\D$D$8$T$@BdD$@D$T$8$ T$88@'l$8D$$(fc(\$\t$`|$dl$hlÐt&\$t$|$T$ \$$B,8sTC< tM< w<w<s=$<u&'<"t.<"r&<vaB @Fn FnFn {\t){,wC\D$<$C\D$<$m\$<$!4$Vx\$t$|$Í\$t$|$t$ ^luD$($T$$fu ~|vtD$($T$$v;{&C4t x5C,@8{Ot\$D$$D$$D$(K$щЃu4C&C'\$ CMD$C0D$C,$t&t~S4t0B2tofB2C4f@2C4@&C4D$<$kGC&C'\$<$su1C&C'fǃ\$<$3D$($T$$t&\$t$|$S\$Cx$…{tr <u8{tuCCmCCtCT<uPCCtC+vCtu CpuC C[ÍvVSt$tf3\$F$"9\$@t$D|$HLÉUWVSD$8i(ŋT$0l8Ǹ L$4ilM }0u-}4u'r+ ],; D$4E4T$4BtE0BpL$0q+tS],D$0; t/T$09 u\$0C)T$48uËT$08,:.\$F$o3dždžF \$F$2\$t$Ív'UWVSLD$dPT$ @D$J L$T$`88,tFf=w5‹iuGvu8ø t&,tFf=w5‹iuGvu9t$< ;l$L$h< i T$`8$WD$D$$<T$hD$ pA$#$L$$ESD$HD$ D$D$ $+qD$Hl%i'sL)L$$<D$HD$ D$D$ $)+D$H%ik()L$$D$HD$ D$D$ $*D$H%ik()L$$jD$HD$ D$ D$ $W*t:D$Ht9%ik()L$$ <D$hT$ RT$+D$8D$<D$@D$DD$ƉL$.t&f  BRЍn@u DŽH֬6  BRЍDŽƬKP @ CBABAB A BABABABAD$ D$ 8iҰFDFGT@ F <u-FHPTF F Rock@etSt@or W"F'E<u!FF FHPTF EJ34fF0 FvW FF dW"F FrWF萶D$$F$  [^_]Í&'UWVS t$(0= uD$ 8D$$D$$ft uK8ø 8$IT$$)‰D$$贳f f3i ,U tl,F?kCmtF0(<*F0F1D$T$F2D$T$F3D$T$F4T$V5F6fF7N8F9GlFDfF$ G`F,NtCdFChFSHwu CnF0ҍKPT$L$$Q"C`t FDCIfF$GlFDfF$ NtGlx%%FxCm&CLF,Cm0< uF0F1F4F05Gl@$uNt STf;SJu YCnCS<㐍t&tCD$@C=D$<CviU iUv iUiUtdv,ǃ$'%iU4ǃ$'iU#vvCiUCiUE&9 [^_]VSL$\$D$0v΀iU΀iUtYviUiUt&v iU iUtsᐃv530$'34iU63P$'3TiUv[^ÐSL$ f f; r fǁ  | T$  ,[ VSL$T$t$\$ &uff% fS % ЉC҃A ЃACtAf% fA[^Ít&'L$T$v uA1A2BA3BA4BA5BA6BA7BAvt#A8BA9B A:B A;B A뤍D$4 PP@ iUÐt& $t$|$|$t$_ V$Ѓu u~0uh$tXtOG\8wu1 8rttG\$ 8sË$t$|$ ÐWVS|$ t$$FT_+t&P t&u8uF& t$<$[^_Ív' D$f@2@&D$$ Í'VSD$ 0D$$tDC(fpK(tD$\$4$ݷ[^Í&UWVSl$0}+t+D$4@ tT$4B u E+f9wT$4B(t%XUD$$7T$4B(D$,$dD$48T$49B8uD$D$$ƃx 4xOf}<tgCf;Fu]f=wW(tJUC(fpUK(tC!D$\$,$蠶E<9wF @lF(u!,$eF D$D$,$YF P@T$D$$RAF 8D$T$$ F 8D$T$$ F T$4j t$,$T$D$49P8D$4@(EX iUt EX[^_]ÍWVS t$0>_+t1 9u  D 9t8uщ ~Atx 9AulA4tA4\Q, Y,B 9tLz u9z u/A4D$`D$ T$L$ $ R B 9u [^_Í&\$ t$|$l$\$ |$$GXhWfwtF4V3D$D$@$؂;FTuuFT$H2+vL$@1@, 3\$,t$0|$4l$8<Ít&D$,D$ D$(D$D$$D$D$ $bÍvUWVSLl$dD$`X fE(D$0D$l$T$`$mt D$0[ E0%=$Uf ‹t$`tbfw|$`li(D,@?fwt$`i D@|$`iDT@T$`2@,D$i ‰T$ D$D$$eUfw‹|$`u0fuE2<fws‹|$`tD$HHD$HHD$H`EvtD$HHD$H@ D$H`T$HE\$`f BD$H`Ƈ \$à\$!$?\$%$-DU0E0DBABAB A t$ t8<EM t8E<t$W ˆWFffGt{GCGntjD$D$ D$HD$l$D$$EvtD$H@D$8D$7D$ |$l$T$$Evt L$I\$ct$`|$,T$f\$ك E0%=u4D$DD$ D$\$D$$D$G@D$Gf}0uME2<wBT$$T$L$` $~zD$DD$ t$$F4D$\$|$<$:t&D$D$T$`${`tC`D$4$vXS3\$4$a9Ti(lD$[^_]É<\$,t$0|$4l$8|$@w,.Ft Ƈrgt&Ƈ|$,$}D$D@Nx`tD$D`D$,$(uT$DPB,$RWFƇL$DAL$,$},$"ƇD$Dx`t`D$,$tO QBAT$DPB&t&G4tx&t|$D$4$覍FFW0u ~ u0D$D$ GMD$T$4$輑QD$ D$'N8L$D$$gD$(FC!C(K(f!K(f!T@C(D$l$ ,${`tC`D$<$RbSf<fwi(l@,xOCf=w#8i @x"C8i@Txt,\$<$萇XSD$$PCL$$AKPD$fD$(l$l$,D$0L$(D@Hf<fwi(l@,@]@f=w 8i @@)@8i@T@\$,T$C |$SD$8$'iL$X\$ ǁpT$8iU Ɖ2$%!L$8\$XD$,iUD$8$'ܶT$XL$ ǂp\$8iU ƋD$80$蔶!ދT$82L$XiUD$LD$S8E+v%$TpSCP~ t \$<,D$<9X,u˅t8F2}+t.\$<C tˆL@F28M+wD$D$D$<$hD$4T$4DŽ }+D$D$L$< $[h\$4\$,$苨( t % D$<,T$<9B,D$L$ $4X\$DP9P(\$D$$X{% uC,@T$$ۮCB{Ot,$$Ǵ{OuC :@l{Of}<t&0tmFf;Cucf=w](tPUF(fpUN(tF!D$t$,$FuE<9qC(u,$$C D$D$,$C P@T$D$$RC 8D$T$$C 8D$T$$cC T$C 8D$T$$aC8D$T$$AD$D$8E ,$'0|$viUiUu f,ut$<$<$ح +t4F tD$L$<$8_+wD$ D FF,9F,u*F89F8u"q$UhSCP} t ^,t&9^,u΅t_E2+tUvF tÈT@E28W+v&Ftt$<$*D$4$[^_]UWVS |$ o(s+tW 9uFt& D 9t 8uv!эiUэiUtl$D$$ D$$ [^_]UWVS\$4D$0D$xT7Gt@5T$B5<tu<r<<t&:L$A5L$4$QLCO{`tC`D$4$CXS4$"gD$@6@5C\$4$mL4$GGL$B{`tC`D$4$bCXSD$x&u  u"D$D$<${\&D$o8,$薢ËE]+CS t8T$D$$FK(\$D$<$\{Ot4$$4{OuD$T$8W wL$ $ӱgD$ǀ{`tC`D$4$WBXSD$D$<$[G89G8ō&,$蘡Ë@ tg@l4$C D$D$4$) C 8D$T$$,C 8D$T$$C \$4$|f9o8sT$T$4$3eG(XiUtXGt\~+t!G t G u8N+wى\$4$豚|$4$uGDŽ [^_]Ð&,\$t$ |$$l$(|$4t$0F,D$(O(f؃D@UpEtiUG!G0%=u)D$<$)D$|$,$hO(tD$<$,$=<e$ƆD$|$T$$W7ƆD$|$D$$WƆt$D$!T$$XV0t-FMD$D$ D$T$D$$!]T$B D$D$,$ШƆ~0tHt$D$!D$$vXFMV0D$D$ D$T$T$$\JD$D$!D$$*XT$B D$D$,$> ~&tt$D$D$$Wt$D$T$$WN tQBAF'F&~Ot!&,$$輤~Ou~0tVF BF0h0V4t FMD<FBD$h tD$D$$)V0tFMD$D$$1F @l,$F D$D$,$F P@T$D$$RF 8D$T$$褺F 8D$T$$臺F t$,$aT$zt^z t8\$8v$hSCPx&uT$8B w׉T$8B wBT$,$\$t$ |$$l$(,Ð&UWVS,l$@ETD$$ D$(l$$`}6vE5u9u4$ƛD$ ET$ PrUf{<0 L$D$0^Ff9E$P 9T$(tF 9!‹ uf%f9u9t$ u$4;T$(uFf=T$$z4BF(fpN(tF(N(fD$ыD$!N(f!T@;t$ t"VPpT$VF(D$L$ $謙m)f9{<D$$@tL$ ABL$,$,[^_] UWVS,t$@T$HT$ D$LD$$>D$Df{0u+C2<w N(D$ T$$uYA5D$Kl&f{wCi(‰T$D$ D$$uD$ƀ{ufD$ D$$CCv CT@mt!HXtS@tC,D$T$ $tJ"4 @L$AB‹iUVSfFH4 DAB‹iUfFLfFNfFPVR4 LAB‹iUfFJ4 HAB‹iUf VLf VN%f FP{uC!f{0uC2<w $L$ T$#!C0%=4 @L$AB‹*-iU4 DAB‹T$iU4 HAB‹25iUCv KTAnC ASfAHT$fAL\$fANfQP4 L\$CB‹iUfAJ4 @CBk\$<$]yX iUtGX=9x8yy2C(fpK(t,[^_]Ð&S\$L$C09K uA<tV<(tRD$ D$Vi D$CD$$D$ D$PD$CD$$D$ D$HD$CD$T$D$ D$TT$H@D$CD$$茙D$ D$CD$ $gD$WD$ D$CD$$AD$ D$SD$CD$$D$ D$CD$$D$ D$RiD$CD$$ĘD$ D$N@D$CD$$蘘D$ D$PD$CD$ $pD$ D$WD$CD$< $HD$ D$UD$CD$d $ D$ D$VD$CD$ $D$ C&D$CD$ $їD$ D$FD$CD$p$託D$ D$@D$CD$ $胗D$D$ @D$PD$CD$ $җD$D$ D$CD$ $襗D$D$ D$PiD$CD$@ $qD$D$ D$LD$CD$d $@D$D$ D$JD$CD$ $D$D$ D$S D$CD$ $ޖD$D$ D$CD$ $豖D$D$ D$Ni$D$CD$ $}X[Ív,\$t$ |$$l$(l$0ED$],$'ƍPT$D$$=NjE0u0T$Z B$0G0G1G2O3T$4GTGXPGDG̋T$B3fGEG G,D$4G@G|@D$GH$|$T$$\$t$ |$$l$(,Í'UWVSt$0D$T$22<ЍR,L$6RD$dR D$ ,$؎ËD$hh+SC tD$8D$$|K(\$D$D$$PH{Ot4$$f{OuL$ 8QnD$|$4$[^_]Í&'UWVS|$@5@4@3ƀ Œ =u$$T$D$ρL$L$\$P$t$H$ D$T$D$vD$4D$xD$0D$hD$,D$nD$(D$zD$$D$pD$ D$qD$D$lD$D$sD$D$jD$D$rD$ D$tD$D$uD$B$$'D$u$A.D$tA/D$rD$zfA<D$xf D$vf D$jfA6A$f=t f= $C1C+C2@C0ƃ C,T$Б‰lD$ui(t u$p$蚑‹$D$rit u$$]‹$D$ti t u$$ ‹$D$zt u$ $$8$ʐË$T$謐‰lf|$jtFZPD$sBH$t$D2BD$s@ꀃf9L$jw$p$B‹$f|$nt0B$:B f9L$nwՋ$$‹$|$qt3$t$L2BD$qf9wҋ$$芏‹$$t$P2B9uۉ$A‰|$pt2$*B˜D$pf9wӋ$$‹$f|$lt0$t$T2Bf9L$lwՀ|$utO$4$脎Ӌ$  L$HPD$uf9wË$ $;$, 0 D$zf6 D$0 $< $T X D$uf^ D$X $虆d $躍| D$rf D$ $\ $} D$tf D$ $ $@ C&f C&D$ $ $‰ D$tittEtЉu$  D$tBD$tD$L$ $_o~&ύ I$, VF$,Fƀ`ƀHǀ @Z LPX\$ ddhFC&f9[$F0Ɔ2Ɔ3Ɔ4Ɔ5|$ui($lD'lD&lDLlDBlfDŽDŽlAAlBBD$uf9w$fǀ$Ƅ=u|$ti $D0D1D $QQQQQQQQlQ(Q(P(P,D$tf9X$ƀ|$rt}iҰ$fD2D&D(D4ы$AAAAlTD$rf9w$ƀ$ D$$ $$ 8 D$@$$4 \ D$@$щ$X  D$@$讉|  D$@$蒉  D$@$v $ |$qtZÉֿ)ŋD$L$˂TPX p$L$LPD$qf9w$ D$$ $ֈD$X$ $ T$P$,T$XPX p$L$PP5 u$ D$$ $.$ $  f|$ltWÉֿ)ŋD$T${TPX p$L$TP$f9|$lw|[^_]Ðt&UWVS l$ |$$_TG+D$l$$#fO2}+tIC t <C u E+f9wfv%EэiU#EэiUtD$,$C89C8 FMD<FBt$D$$ :~Ott&,$h$~OuF tV@lF(u,$F 8D$T$$轝F 8D$T$$蠝F k t$,$ EEXiUt EXG&fg2t"‹D8u4L$L$4A< v D$l$$:)"(Pu[^_]Í',\$t$ |$$l$(\$0D$4D$C,(,$$ƅ ,$!Džut$,$VHT$PL$\$G$ldždž  \$G$k\$ t$|$l$UWVSD$8D$T$0B,0l$4 7t$9D$L$Ѓ<Ct Cxt5{tmuCD$t$D$0$8Cv@ـ{t8uɉL$t&D$D$t$D$0$x8CwC\݃D$;\$BD$D$0$[^_]ÍUWVS,D$@D$ T$DRT$+L$DQf‹\$ tbfw\$ li(D,@?fw\$ i D@\$ iDT@T$ 2D$@,D$$li(4|$+fdžD$Dx0@2<t_<w <'<t8< mL$DL$4$X\$D\$4$CD$DD$4$@.T$DT$4$\$F,@$hdždž  \$F,@$#hF&L$I\$ 6ID$ d,$gƋT$ hh.V2~&~%󀾵WN$щЃu)t$t$ FMD$F0D$L$$ $_$ut\$\$ $>\$D$ $ƆL$  B88u{tw\$[D$ d,$fƋT$ hh.V2~&tF%<"t< uD$ 4$CDD$ 86wT$RL$ Ƅ1\$$\$ $}|$+D$Dx\t\D$T$ $L$DL$\$ $<|$+tkff vfdžD$ 4$4D$ 1D$@T$ ,D$$l&,[^_]Ð$t$\$ t$T$L$tDt@t<|$t5fw.t!B0B1B2fJr D$B|$t$Í&'|$% T$RB ÐVS\$L$0t$8D$ f="'wIf= 'syf=@!tsf=@!wf= !tff="!t`f=Pt&u`Tf=D!tNf=D!rPf-'fwFt&6f='t0f='t&wf=$'t f='t&u f=tf=tf=ru @D$D$D$,ffD$ D$$fD$(ffT$4fT$fD$[¸t&=uȃ Í D$9t $Zȃ Í D$9t$Z@ȃ ÉUWVSD$D$D$vT$L$ ,<D$ff=wwi {0tP{(&<$8ZHS,C,yQ y&uy%wA't A tP8K0w舃iT$yt<‹Dfwi DPiDTPt&Qffwi D@iDT@T$0:Bu%A0%=tD$AL$$-1AGft;t[^_]É'\$ t$|$l$l$ |$(u4$IÅuD$,ƀv4$…u\$4$T$,ƂfC0C1C2KL$$A3fCEC C,BC@S\@B@P C|CD$CH$B\$4$C\$ t$|$l$ \$ t$|$l$l$ |$(D$,D$u4$RÅ4$0…tzC0C1C2KL$$A3fCEC C,BC@S\@B@P L$H C|CD$CH$A\$4$l$H\$ t$|$l$Í\$ t$|$l$|$ l$(74${Åtr4$]…tdC0C1C2CL$$A3fCC C,BC@S\@B@P C|CD$CH$@\$4$裪\$ t$|$l$ \$t$|$|$ 74$Åtm4$…t_C0C1C2CL$$A3fCC C,BC@S\@B@C|CD$CH$,@\$4$\$t$|$Ã\$ t$|$l$t$ $[?$>ǀ02u 8F0sF0 u߉<2Dm,`uэR@Y 2LPX\ddh0Dm,\$ t$|$l$Í&\$t$|$t$ X $O>$=¸À0uf9sf&=uˀÈi(l$lfDlD&lD=lDlD@lD?lDAlƄlƄ4$l~5u lL(l\$t$|$Ít&'S\$T$]8$[Ív'\$t$|$t$ $<$;‰.u8s &πÈi$#fD$~5u fD0D&fD2fDŽD$8$\$t$|$Ðt&VSt$ D$$@$0Ƅ0ۉ\$ $*;i۰x4t D$4$*D$8$D[^Í&'S\$D$P3ƄD$ $:D$8$[S\${(tCXD$T$B$;C([ÍvS\${LtD$T$B$;CL[Ã\$ t$|$l$\$ l$$Ei(lD$$Utx|uDŽ&EƄljD$X $9lxBt D$$l$$lD&lD'\$ t$|$l$ \$ t$|$l$l$ t$$f~0F2<Ff=|<cik){9{tl<$399uA\$,$!;{(CXC`[dCXD$E$E9C(CPzSFBFBFf=lF0%=i(kO{9{tn<$e89uF\$,$;{t^ǃǃD$E$o8CL)CPzSFBFBt&\$ t$|$l$Í\$ t$|$l$|$ l$$U(f!D@ftI8t7!t$0 $6l$<$l$<$s\$ t$|$l$ \$t$|$|$ t$$f~0F2<Ff=w i°{(u8Vxti@BCXC`[dCXD$G$6C(SsCV2C)Ff=w lF0%=tgi({LuDVxti@BǃD$G$A6CLSsCV2CO\$t$|$É'UWVS,D$DPf/‹\$@tbfw\$@li(D,@?fw\$@i D@\$@iDT@T$@2Dm,D$ i ‰T$D$DP@B<t+<6DmT$@6qDmD$@,L$(Z \$&RT$'6tjDmD$@0d,$g4ËT$@hh+SL$9K0uCMT$D:Btt&D$@806wT$DB\tD$L$( $D$DD$T$($_|$'<w5t1D$D$ L$DAD$C0D$\$ $)t%<v!C'C&c(\$D$($]+D$'D$ D$&D$T$T$L$ $߃DmD$@d<$(3T$@hh9Q D$9A0uAMT$D:BtT$@86wQ$Ѓu(t#L$ \$DCD$A0D$D$ $T$DB\tD$L$@ $\$D\$D$@$-T$@1Dm,D$  O,[^_]ÉUWVS l$ |$$\$(C'C&\$D$<${0tSC BC0h0{Otv,$(u$8{Ou拓tD$D$$1S0tD$CMD$$蒮s ~|u~C(u,$D$C D$,$S BD$BD$$R`9C D$8D$$NC D$8D$$NC FlS4t CMD<CBo \$,$tO t9w8&4$0W t&[^Ðt&SD$ 0 $e*D$@u[Ít&' D$9t $*ȃ ÐD$ittET$É'T$L$ DJpfDJpRËT$&;2t¤ ufÍvVSt$ L$\$882u892uiƄ1¤ u[^Ð&UWVS|$ D$$D$l$T$(]\$tWt&9Gu(:\$uitET$(&t:L$u[^_]ÍUWVSl$4\$<|$0|$8tw#D$|$@T$@T$WD$t+D$9Gu8tD$t8T$ul$ittED$dD$D$$k!tEt_ݍpET$&T$\`K(GP@CBABAB A T$8BwD$ittE)9GÃt8uÃ[^_]Ít&UWVSD$$D$\$(f$|$i8 D$9D:upLvQtuHi8 [Ѝ :\$YD$ A A$fX\$X‹\$,BCBA0 =ur[^_]Ð&UWVS l$$t$ ~tIitEtD$l$E$ 'u8Fw»؃ [^_]ÍvS\$D$D$$x EjttO>uD$,$c [^_]UWVS,D$DD$T$@T$ D$T$@B*T$T$D$$OD$@x*WD$T$ 0T$T$ 4PT$T$ TD$$D$(t&<t,<r<u4D$$ D$($"D$$D$(D$$D$( t$T$T$$|$T$$D$$'E]iU\$D$$D$$TA4 \$T$$T$$0]EiUD$D$$D$$ D$(T$$']iU\$T$(T$$?\$D$(D$$]EiUD$$T$$'biU\$T$$T$$rA4 \$D$$D$$NiUD$T$$T$$-T$(D$$'iU\$D$(D$$?\$T$(T$$iUD$D$(D$$T$@z*D$D$$|$v!T$ $'=]iUD$ $'iU\$D$ $,ذT$@z*uÀ &À\$D$ $|${]EiUD$D$ $D$$']iU\$D$$\$D$$p]EiUD$D$$MT$$']iU\$D$$\$D$$]EiUD$D$$D$$']iU\$D$$\$D$$}]EiUkiUD$D$ $LT$$'iU\$D$$\$D$$iUD$D$$D$$'iU\$D$$\$D$$}iUD$D$$\T$$'iU\$D$$&\$D$$ iUD$D$$|$vxt$T$ 0$'D$ 4iU\$D$$㏃p\$D$$viUvt$T$ P$'D$ TiU\$D$$㏃p\$D$$iUD$D$$,[^_]Ðt&\$ t$|$l$l$ }wJ |މ8uhCD$ CD$CD$CD$CD$CD$ CD$D$$( |$`G|$,$tt&D$<|$<6,$HÅND$8T$8 tK5D$8L$8 tK5D$8t$8 tK5D$8|$8 tK5 D$8T$8 tK5D$8L$8 tK5C0ߋD$8t$8 DP@CD$`C$T$`B}+t0t$`F tˆL@C28M+w܋D$`H0S P0D$`,C K$T$`B4D$`D$ |$T$ $_,$藪Å@'@&fǀ@$@%@D@HD$8t$8 DP@AA|$`{,<$fK8<$T< vfK8D$`@ P25,G5teP|t.@|DŽD$D$$3vt&ǀDŽ$ҍ@C\$<$92<ЍR,\$$ xxPRd,$};hh)Q y&t Y$ӉЃu)tGL$ AMD$A0D$D$$$]L$<$:L$<$ t&86DD$5t&;tmJ|tfzlu`,[^_]ÍWVSt$ >4$t_+t1V t!Ft$<$\u8u<$Wt?V<$/uƃ@0@1@2CfAAxA A,A@A|L$<$w<T$$=s,><$uƃ@0@1@2CfAA A,A@A|L$<$;Eډ2><$8K<$~K>uƃ@0@1@2H3CfBB B,B@B|KAT$<$;T><$Z~uƃ3@0@1@2CfAA A,A@A|L$<$:><$}uƃ@0@1@2 CfAA A,A@A|L$<$D:><$}uƃi@0@1@2@4CfAAxA A,A@A|L$<$9C&S$Ѓuu{4u4$襻{'uC,\$D$D$0$Fu~8~ `|vV(Z*B9}6CB*B+B&B2fB2T$T$0$Oe9t~8~ u4v/B&B2fB2T$L$0 $ <$wF\$t$ |$$l$(,Ív',\$t$ |$$l$(l$4u,EL$0E&<<w;< < w<S<<t&t&<<w<t9<wG<t]<gD$,${}QD$,$a}7D$,$v,$e ,$uE9t,$~,$,${,${E&~ ~8v<$H‹FF&54 LF4‹iUfF 4 DF4‹iUfV"f F f@Au F&f~"߃$F&4 DF4‹iUF4 LF4‹iUtF tF Ѓ FF+<F&G4 LV4ЋiUF,F&F&F2f%fF2D$4x\t\D$,$KT$4T$,$JG|$,$,F&F+F+:Fs F&F+F&$ DZF&F&t&{F&rF.)F&Z4 LF4‹iUۋ4 DF4‹iUٱu F& @ 9yF.< wF&F.F+|<D$ t>D$_8$۩D$F+L$9LBn\$t$ |$$l$(,Í\\$Lt$P|$Tl$Xl$`|$dWffwli(D,@:vfwi D@iDT@D$@Rd<$+hh9Q A%<"t< uAf;D$>r fD$>L$@86w|$@?T$@z&1B&T$,$u F%v"u F%N( AtfN8~%uJEf= 'tf='u:\tG\D$,$?|$,$>t$L$8L$,$l_@t[Vd(u􍖌uNdSCFdBABAB A BABAC ~%F&D$6f$'eF&O@QA A A ‰A A A ЉFDFHuf$'F&NufN8F&:F& 1 u2|$=t|$=u$D$6f$'蓤F&\tG\D$,$U=|$,$D$@8tAD$ #AD$ AD$ AUD$ A/AAD$ AC4C5AC3AD$ C3AC4C5AC6AC7AC9A C8AD$ rAC4C5AC3AC6AC7AC8AC9AD$ 4D$ C4t&ApAAAA@D$ D$ D$ [Ív'<\$,t$0|$4l$8l$Du@|$ t Fx}0%ugD$ D$ D$L$uD$D$T$D$D$$8D$ D$ D$\$D$D$D$L$uD$D$ &vT$D$D$$ U@D$ L$D$$>(!\$,t$0|$4l$8<ÉVSL$ \$$Q,2C0u_ iUD$ =t =uB ǃ ǃ ǃ <ǃ ǃ ǃ $t&ǃ Eǃ 0E$[^Ív'<\$,t$0|$4l$8Ɖ׉L$hD$@<v؋ HT$(|$\$$T$("'6u iUD$(T$Ћ\$,t$0|$4l$8<Í'S(\$0 H T$$D$4D$D$$LT$$'uC-9iUT$8Ѓ([Ít&'UWVS,ÈT$̓|$@{ HD$D$$T$(T$(' u* iUD$!Љ8u (T$($ 0v;t$@s,[^_]ÍS(Ë T$$D$D$$T$$T'hu$$tvЃ([Ít&,\$$t$(\$0t$4D$#D$#D$t$$ur|$#tyBt_ H T$t$D$$UT$'u$"t &\$$t$(, UWVSgL$8D$$!g\$pt0D$$gT$8D$$f|$[tZl$p|$8vދL$pD$,$fT$8D$<$fD$[f9w‹L$p| t0D$d $af\$8| D$d $DfT$p t0D$ $#fL$8 D$ $f\$p t0D$ $eT$8 D$ $eL$pt0D$$e\$8D$$eT$plt0D$T$ieL$8lD$T$Le\$pt0D$$+eT$8D$$eL$p8t0D$ $d\$88D$ $dT$pt0D$$dL$8D$$d\$pt0D$$qdT$8D$$TdL$pt0D$$3d\$8D$$dT$p, t0D$ $cL$8, D$ $c\$pT t0D$< $cT$8T D$< $cL$p t0D$ $yc\$8 D$ $\cT$pt0D$p$;cL$8D$p$c\$p tX  D$T$ L$ $cL$8  D$T$  D$ $hc\$p4 tX8 < D$T$ L$ $3cL$88 < D$T$ 4 D$ $c\$pX tX\ ` D$T$ L$@ $bL$8\ ` D$T$ X D$@ $b\$p tX D$T$ L$ $gbL$8 D$T$ D$ $6b\$p| tX D$T$ L$d $bL$8 D$T$ | D$d $a\$p tX D$T$ L$ $aL$8 D$T$ D$ $ja\$p tX D$T$ L$ $5aL$8 D$T$ D$ $a\$p tX  D$T$ L$ $`L$8  D$T$ D$ $`\[^_]ÍS\$$$e $ e$$`$.D$$[É' T$D$B3D$$ Ív'S\$$8 $[Ð&S\$$8 $[Ð& D$$! Ív',\$t$ |$$l$(É׉͋pl@xD$E8/$7D$@0@1t <Ѓ Ѓ T$B2BFfBZ B,B@B|T$D$$iƃfǃtYClt\fuD$D$!@,$f$^T$$Clt uft"D$xuCl@:fCf T$T$D$$ t&؋\$t$ |$$l$(,Ðt&,\$t$ |$$l$(\$0|$4slkx ,$D$@0@1<T$B2BFfBZ B,B@B|T$,$ƃfǃtUCltXfuD$D$!@,$6f$R],$芙Clt uftD$xtT$T$,$|؋\$t$ |$$l$(, L\$C?Rt&(C0C1C2C3C4C5C6D$fC7D$C8C9$QEl@fCCk C\@C@D$E`C,fC$ ElCDC|D$D$$OC,D$ C\P@ D$T$D$$Oƅ\$D$$|$t7D$K T$<BT$LT$D$$$ T$@z\tЃ\D$D$8$T$@BdD$@D$T$8$T$88@'l$8D$$Xic(\$\t$`|$dl$hlÐt&\$t$|$T$ \$$B,8sTC< tM< w<w<s=$<u&'<"t.<"r&<vaB @Fn FnFn {\t){,wC\D$<$C\D$<$]\$<$4$Vx\$t$|$Í\$t$|$t$ ^luD$($T$$fu ~|vtD$($T$$v;{&C4t x5C,@8{Ot\$D$$D$$D$(K$щЃu4C&C'\$ CMD$C0D$C,$t&t~S4t0B2tofB2C4f@2C4@&C4D$<$iGC&C'\$<$cs1C&C'fǃ\$<$#D$($T$$t&\$t$|$S\$Cx$…{tr <u8{tuCCmCCtCT<uPCCtC+vCtu CpuC C[ÍvVSt$tf3:.\$F$6dždžB \$F$5\$t$Ív'UWVSLD$dPT$ @D$J L$T$`88,tFf=w5‹iuGvu8ø t&,tFf=w5‹iuGvu9t$< ;l$L$h< i T$`8$'D$D$$<T$hD$ pA$#$LL$$ESD$HD$ D$D$ $b)qD$Hl%i'sL)L$$<D$HD$ D$D$ $(D$H%ik()L$$D$HD$ D$D$ $(D$H%ik()L$$jD$HD$ D$ D$ $'(t:D$Ht9%ik()L$$ <D$hT$ RT$+D$8D$<D$@D$DD$ƉL$.t&f  BRЍn@u DŽH֬6  BRЍDŽƬKP @ CBABAB A BABABABAD$ D$ 8iҰFDFGT@ F <u-FHPTF F Rock@etSt@or W"FE<u!FF FHPTF EJ34fF0 FvW F谲F dW"F 蠲FrWFPD$$F$  [^_]Í&'UWVS t$(0= uD$ 8D$$D$$路ft uK8ø 8$ T$$)‰D$$tf f3i ,U tl,F?kCmtF0(<*F0F1D$T$F2D$T$F3D$T$F4T$V5F6fF7N8F9GlFDfF$ G`F,NtCdFChFSHwu CnF0ҍKPT$L$$1 C`t FDCIfF$GlFDfF$ NtGlx%%FxCm&CLF,Cm0< uF0F1F4F05Gl@$uNt STf;SJu YCnCS<㐍t&tCED$@C=D$<CviU iUv iUiUtdv,ǃ$'iU4ǃ$'iU#vvCiUCiUE&9 [^_]VSL$\$D$0v΀iU΀iUtYviUiUt&v iU iUtsᐃv530$'34iU63P$'v3TiUv[^ÐSL$ f f; r fǁ  | T$  ,[ VSL$T$t$\$ &uff% fS % ЉC҃A ЃACtAf% fA[^Ít&'L$T$v uA1A2BA3BA4BA5BA6BA7BAvt#A8BA9B A:B A;B A뤍D$4 PP@ iUÐt& $t$|$|$t$_ V$Ѓu u~0uh$tXtOG\8wu1 8rttG\$ 8sË$t$|$ ÐWVS|$ t$$FT_+t&P t&u8uF& t$<$[^_Ív' D$f@2@&D$$ Í'VSD$ 0D$$tDC(fpK(tD$\$4$ݷ[^Í&UWVSl$0}+t+D$4@ tT$4B u E+f9wT$4B(t%XUD$$T$4B(D$,$dD$48T$49B8uD$D$$ƃx 4xOf}<tgCf;Fu]f=wW(tJUC(fpUK(tC!D$\$,$蠶E<9wF @lF(u!,$eF D$D$,$YF P@T$D$$R!F 8D$T$$ F 8D$T$$ F T$4j t$,$T$D$49P8D$4@(EX iUt EX[^_]ÍWVS t$0>_+t1 9u  D 9t8uщ ~Atx 9AulA4tA4\Q, Y,B 9tLz u9z u/A4D$D$ T$L$ $ R B 9u [^_Í&\$ t$|$l$\$ |$$GXhWfwtF4V3D$D$@$؂;FTuuFT$H2+vL$@1@, 3\$,t$0|$4l$8<Ít&D$,D$ D$(D$D$$D$D$ $bÍvUWVSLl$dD$`X fE(D$0D$l$T$`$mt D$0[ E0%=$qUf ‹t$`tbfw|$`li(D,@?fwt$`i D@|$`iDT@T$`2@,D$i ‰T$ D$D$$eUfw‹|$`u0fuE2<fws‹|$`tD$HHD$HHD$H`EvtD$HHD$H@ D$H`T$HE\$`f BD$H`Ƈ \$à\$!$?\$%$-DU0E0DBABAB A t$ t8<EM t8E<t$W ˆWFffGt{GCGntjD$D$ D$HD$l$D$$EvtD$H@D$8D$7D$ |$l$T$$Evt L$I\$ct$`|$,T$f\$ك E0%=u4D$DD$ D$\$D$$D$G@D$Gf}0uME2<wBT$$T$L$` $~zD$DD$ t$$F4D$\$|$<$:t&D$D$T$`${`tC`D$4$vXS3\$4$a9Ti(lD$[^_]É<\$,t$0|$4l$8|$@w,.Ft Ƈrgt&Ƈ|$,$}D$D@Nx`tD$D`D$,$(uT$DPB,$RWFƇL$DAL$,$},$"ƇD$Dx`t`D$,$tO QBAT$DPB&t&G4tx&t|$D$4$覍FFW0u ~ u0D$D$ GMD$T$4$輑QD$ D$'N8L$D$$gD$(F@!|[^_]Ð&UWVSL|$` fD$ iUf%f f;D$uQP iUʁPL$$hT$`$f Klt&X fD$L$f; !fL$ PiU%Ptj+tdu1tF"t&ƍHuHu"ƍ@,u&&G+f9wD$`$xT$`$C df%fD$iȰT L $T$8L$<Ћ) f{>C!C(K(f!K(f!T@C(D$l$ ,${`tC`D$<$RbSf<fwi(l@,xOCf=w#8i @x"C8i@Txt,\$<$萇XSD$$PCL$$AKPD$fD$(l$l$,D$0L$(D@Hf<fwi(l@,@]@f=w 8i @@)@8i@T@\$,T$C |$SD$8$'IL$X\$ ǁpT$8iU Ɖ2$!L$8\$XD$,iUD$8$'輶T$XL$ ǂp\$8iU ƋD$80$t!ދT$82L$XiUD$LD$S8E+v%$TpSCP~ t \$<,D$<9X,u˅t8F2}+t.\$<C tˆL@F28M+wD$D$D$<$hD$4T$4DŽ }+D$D$L$< $[h\$4\$,$苨( t % D$<,T$<9B,D$L$ $4X\$DP9P(\$D$$X{% uC,@T$$軮CB{Ot,$$觴{OuC :@l{Of}<t&0tmFf;Cucf=w](tPUF(fpUN(tF!D$t$,$FuE<9qC(u,$$C D$D$,$C P@T$D$$RʹC 8D$T$$`C 8D$T$$CC T$C 8D$T$$AC8D$T$$!D$D$8E ,$'|$viUiUu f,ut$<$<$ح +t4F tD$L$<$8_+wD$ D FF,9F,u*F89F8u"q$UhSCP} t ^,t&9^,u΅t_E2+tUvF tÈT@E28W+v&Ftt$<$*D$4$[^_]UWVS |$ o(s+tW 9uFt& D 9t 8uv!эiUэiUtl$D$$ D$$ [^_]UWVS\$4D$0D$xT7Gt@5T$B5<tu<r<<t&:L$A5L$4$QLCO{`tC`D$4$CXS4$"gD$@6@5C\$4$mL4$GGL$B{`tC`D$4$bCXSD$x&u  u"D$D$<${\&D$o8,$薢ËE]+CS t8T$D$$&K(\$D$<$\{Ot4$${OuD$T$8W wL$ $ӱgD$ǀ{`tC`D$4$WBXSD$D$<$[G89G8ō&,$蘡Ë@ tg@l4$C D$D$4$) C 8D$T$$ C 8D$T$$C \$4$|f9o8sT$T$4$3eG(XiUtXGt\~+t!G t G u8N+wى\$4$豚|$4$uGDŽ [^_]Ð&,\$t$ |$$l$(|$4t$0F,D$(O(f؃D@UpEtiUG!G0%=u)D$<$)D$|$,$hO(tD$<$,$=<e$ȸƆD$|$T$$W7ƆD$|$D$$WƆt$D$!T$$XV0t-FMD$D$ D$T$D$$!]T$B D$D$,$ШƆ~0tHt$D$!D$$vXFMV0D$D$ D$T$T$$\JD$D$!D$$*XT$B D$D$,$> ~&tt$D$D$$Wt$D$T$$WN tQBAF'F&~Ot!&,$$蜤~Ou~0tVF BF0h0V4t FMD<FBD$h tD$D$$)V0tFMD$D$$1F @l,$F D$D$,$F P@T$D$$RF 8D$T$$脺F 8D$T$$gF t$,$aT$zt^z t8\$8v$hSCPx&uT$8B w׉T$8B wBT$,$\$t$ |$$l$(,Ð&UWVS,l$@ETD$$ D$(l$$`}6vE5u9u4$ƛD$ ET$ PrUf{<0 L$D$0^Ff9E$P 9T$(tF 9!‹ uf%f9u9t$ u$4;T$(uFf=T$$z4BF(fpN(tF(N(fD$ыD$!N(f!T@;t$ t"VPpT$VF(D$L$ $謙m)f9{<D$$@tL$ ABL$,$,[^_] UWVS,t$@T$HT$ D$LD$$>D$Df{0u+C2<w N(D$ T$$uYA5D$Kl&f{wCi(‰T$D$ D$$uD$ƀ{ufD$ D$$CCv CT@mt!HXtS@tC,D$T$ $TJ 4 @L$AB‹iUVSfFH4 DAB‹iUfFLfFNfFPVR4 LAB‹iUfFJ4 HAB‹iUf VLf VN%f FP{uC!f{0uC2<w $L$ T$#!C0%=4 @L$AB‹*-iU4 DAB‹T$iU4 HAB‹25iUCv KTAnC ASfAHT$fAL\$fANfQP4 L\$CB‹iUfAJ4 @CBk\$<$]yX iUtGX=9x8yy2C(fpK(t,[^_]Ð&S\$L$C09K uA<tV<(tR8u4L$L$4A< v D$l$$) (Pu[^_]Í',\$t$ |$$l$(\$0D$4D$C,(,$$ƅ ,$!Džut$,$VHT$PL$\$G$mldždž  \$G$k\$ t$|$l$UWVSD$8D$T$0B,0l$4 7t$9D$L$Ѓ<Ct Cxt5{tmuCD$t$D$0$8Cv@ـ{t8uɉL$t&D$D$t$D$0$x8CwC\݃D$;\$BD$D$0$[^_]ÍUWVS,D$@D$ T$DRT$+L$DQf‹\$ tbfw\$ li(D,@?fw\$ i D@\$ iDT@T$ 2D$@,D$$li(4|$+fdžD$Dx0@2<t_<w <'<t8< mL$DL$4$X\$D\$4$CD$DD$4$@.T$DT$4$\$F,@$hdždž  \$F,@$hF&L$I\$ 6ID$ d,$gƋT$ hh.V2~&~%󀾵WN$щЃu)t$t$ FMD$F0D$L$$ $_$ut\$\$ $>\$D$ $ƆL$  B88u{tw\$[D$ d,$fƋT$ hh.V2~&tF%<"t< uD$ 4$CDD$ 86wT$RL$ Ƅ1\$$\$ $}|$+D$Dx\t\D$T$ $L$DL$\$ $<|$+tkff vfdžD$ 4$4D$ 1D$@T$ ,D$$l&,[^_]Ð$t$\$ t$T$L$tDt@t<|$t5fw.t!B0B1B2fJr D$B|$t$Í&'|$% T$RB ÐVS\$L$0t$8D$ f="'wIf= 'syf=@!tsf=@!wf= !tff="!t`f=Pt&u`Tf=D!tNf=D!rPf-'fwFt&6f='t0f='t&wf=$'t f='t&u f=tf=tf=ru @D$D$D$,ffD$ D$$fD$(ffT$4fT$fD$[¸t&=uȃ Í D$9t $Zȃ Í D$9t$Z@ȃ ÉUWVSD$D$D$vT$L$ ,<D$ff=wwi {0tP{(&<$8ZHS,C,yQ y&uy%wA't A tP8K0w舃iT$yt<‹Dfwi DPiDTPt&Qffwi D@iDT@T$0:Bu%A0%=tD$AL$$-1AGft;t[^_]É'\$ t$|$l$l$ |$(u4$IÅuD$,ƀv4$…u\$4$T$,ƂfC0C1C2KL$$A3fCEC C,BC@S\@B@P C| CD$CH$B\$4$C\$ t$|$l$ \$ t$|$l$l$ |$(D$,D$u4$RÅ4$0…tzC0C1C2KL$$A3fCEC C,BC@S\@B@P L$H C| CD$CH$A\$4$l$G\$ t$|$l$Í\$ t$|$l$|$ l$(74${Åtr4$]…tdC0C1C2CL$$A3fCC C,BC@S\@B@P C| CD$CH$@\$4$裪\$ t$|$l$ \$t$|$|$ 74$Åtm4$…t_C0C1C2CL$$A3fCC C,BC@S\@B@C| CD$CH$,@\$4$\$t$|$Ã\$ t$|$l$t$ $[?$>ǀ02u 8F0sF0 u߉<2Dm,`uэR@Y 2LPX\ddh0Dm,\$ t$|$l$Í&\$t$|$t$ X $O>$=¸À0uf9sf&=uˀÈi(l$lfDlD&lD=lDlD@lD?lDAlƄlƄ4$l~5u lL(l\$t$|$Ít&'S\$T$]8$[Ív'\$t$|$t$ $<$;‰.u8s &πÈi$#fD$~5u fD0D&fD2fDŽD$8$\$t$|$Ðt&VSt$ D$$@$0Ƅ0ۉ\$ $*;i۰x4t D$4$*D$8$D[^Í&'S\$D$P3ƄD$ $:D$8$[S\${(tCXD$T$B$;C([ÍvS\${LtD$T$B$y;CL[Ã\$ t$|$l$\$ l$$Ei(lD$$Utx|uDŽ&EƄljD$X $9lxBt D$$l$$lD&lD'\$ t$|$l$ \$ t$|$l$l$ t$$f~0F2<Ff=|<cik){9{tl<$399uA\$,$!;{(CXC`[dCXD$E$%9C(CPzSFBFBFf=lF0%=i(kO{9{tn<$e89uF\$,$;{t^ǃǃD$E$O8CL)CPzSFBFBt&\$ t$|$l$Í\$ t$|$l$|$ l$$U(f!D@ftI8t7!t$0 $6l$<$l$<$s\$ t$|$l$ \$t$|$|$ t$$f~0F2<Ff=w i°{(u8Vxti@BCXC`[dCXD$G$6C(SsCV2C)Ff=w lF0%=tgi({LuDVxti@BǃD$G$!6CLSsCV2CO\$t$|$É'UWVS,D$DPf/‹\$@tbfw\$@li(D,@?fw\$@i D@\$@iDT@T$@2Dm,D$ i ‰T$D$DP@B<t+<6DmT$@6qDmD$@,L$(Z \$&RT$'6tjDmD$@0d,$g4ËT$@hh+SL$9K0uCMT$D:Btt&D$@806wT$DB\tD$L$( $D$DD$T$($_|$'<w5t1D$D$ L$DAD$C0D$\$ $)t%<v!C'C&c(\$D$($]+D$'D$ D$&D$T$T$L$ $߃DmD$@d<$(3T$@hh9Q D$9A0uAMT$D:BtT$@86wQ$Ѓu(t#L$ \$DCD$A0D$D$ $T$DB\tD$L$@ $\$D\$D$@$-T$@1Dm,D$  O,[^_]ÉUWVS l$ |$$\$(C'C&\$D$<${0tSC BC0h0{Otv,$(u$8{Ou拓tD$D$$1S0tD$CMD$$蒮s ~|u~C(u,$D$C D$,$S BD$BD$$R@9C D$8D$$NC D$8D$$NC FlS4t CMD<CBo \$,$tO t9w8&4$0W t&[^Ðt&SD$ 0 $e*D$@u[Ít&' D$9t $*ȃ ÐD$ittET$É'T$L$ DJpfDJpRËT$&;2t¤ ufÍvVSt$ L$\$882u892uiƄ1¤ u[^Ð&UWVS|$ D$$D$l$T$(]\$tWt&9Gu(:\$uitET$(&t:L$u[^_]ÍUWVSl$4\$<|$0|$8tw#D$|$@T$@T$WD$t+D$9Gu8tD$t8T$ul$ittED$dD$D$$KtEt_ݍpET$&T$\`K(GP@CBABAB A T$8BwD$ittE)9GÃt8uÃ[^_]Ít&UWVSD$$D$\$(f$|$i8 D$9D:upLvQtuHi8 [Ѝ :\$YD$ A A$fX\$X‹\$,BCBA0 =ur[^_]Ð&UWVS l$$t$ ~tIitEtD$l$E$ 'u8Fw»؃ [^_]ÍvS\$D$D$$x EjttO>uD$,$c [^_]UWVS,D$DD$T$@T$ D$T$@B*T$T$D$$/D$@x*WD$T$ 0T$T$ 4PT$T$ TD$$D$(t&<t,<r<u4D$$ D$($"D$$D$(D$$D$( t$T$T$$v|$T$$D$$'%]iU\$D$$D$$4A4 \$T$$T$$]EiUD$D$$D$$D$(T$$']iU\$T$(T$$?\$D$(D$$]EiUD$$T$$'BiU\$T$$T$$RA4 \$D$$D$$.iUD$T$$T$$ T$(D$$'iU\$D$(D$$?\$T$(T$$iUD$D$(D$$T$@z*D$D$$j|$v!T$ $']iUD$ $'iU\$D$ $ ذT$@z*uÀ &À\$D$ $|${]EiUD$D$ $D$$'_]iU\$D$$n\$D$$P]EiUD$D$$-T$$']iU\$D$$\$D$$]EiUD$D$$D$$'i]iU\$D$$x\$D$$]]EiUkiUD$D$ $,T$$'iU\$D$$\$D$$iUD$D$$D$$'qiU\$D$$\$D$$]iUD$D$$<T$$'iU\$D$$\$D$$iUD$D$$|$vxt$T$ 0$'oD$ 4iU\$D$$t㏃p\$D$$ViUvt$T$ P$'D$ TiU\$D$$㏃p\$D$$iUD$D$$,[^_]Ðt&\$ t$|$l$l$ }wJ |މ8uhCD$ CD$CD$CD$CD$CD$ CD$D$$(|$`G|$,$tt&D$<|$<6,$HÅND$8T$8 tK5D$8L$8 tK5D$8t$8 tK5D$8|$8 tK5 D$8T$8 tK5D$8L$8 tK5C0ߋD$8t$8 DP@CD$`C$T$`B}+t0t$`F tˆL@C28M+w܋D$`H0S P0D$`,C K$T$`B4D$D$ |$T$ $_,$藪Å@'@&fǀ@$@%@D@HD$8t$8 DP@AA|$`{,<$fK8<$T< vfK8D$`@ P25,G5teP|t.@|DŽD$D$$3vt&ǀDŽ$ҍ@C\$<$92<ЍR,\$$ xxPRd,$};hh)Q y&t Y$ӉЃu)tGL$ AMD$A0D$D$$$]L$<$:L$<$ t&86DD$5t&;tmJ|tfzlu`,[^_]ÍWVSt$ >4$t_+t1V t!Ft$<$\u8u<$Wt?V<$/uƃ@0@1@2CfAAxA A,A@A|L$<$w<T$$s,><$uƃ@0@1@2CfAA A,A@A|L$<$;Eډ2><$8K<$~K>uƃ@0@1@2H3CfBB B,B@B|KAT$<$;T><$Z~uƃ3@0@1@2CfAA A,A@A|L$<$:><$}uƃ@0@1@2 CfAA A,A@A|L$<$D:><$}uƃi@0@1@2@4CfAAxA A,A@A|L$<$9C&S$Ѓuu{4u4$襻{'uC,\$D$D$0$Fu~8~ `|vV(Z*B9}6CB*B+B&B2fB2T$T$0$Oe9t~8~ u4v/B&B2fB2T$L$0 $ <$wF\$t$ |$$l$(,Ív',\$t$ |$$l$(l$4u,EL$0E&<<w;< < w<S<<t&t&<<w<t9<wG<t]<gD$,${}QD$,$a}7D$,$v,$e ,$uE9t,$~,$,${,${E&~ ~8v<$H‹FF&54 LF4‹iUfF 4 DF4‹iUfV"f F f@Au F&f~"߃$F&4 DF4‹iUF4 LF4‹iUtF tF Ѓ FF+<F&G4 LV4ЋiUF,F&F&F2f%fF2D$4x\t\D$,$KT$4T$,$JG|$,$,F&F+F+:Fs F&F+F&$ 觱F&F&t&{F&rF. F&Z4 LF4‹iUۋ4 DF4‹iU蹱u F& @ 9yF.< wF&F.F+|<D$ t>D$_8$۩D$F+L$9LBn\$t$ |$$l$(,Í\\$Lt$P|$Tl$Xl$`|$dWffwli(D,@:vfwi D@iDT@D$@Rd<$+hh9Q A%<"t< uAf;D$>r fD$>L$@86w|$@?T$@z&1B&T$,$u F%v"u F%N( AtfN8~%uJEf= 'tf='u:\tG\D$,$?|$,$>t$L$8L$,$l_@t[Vd(u􍖌uNdSCFdBABAB A BABAC ~%F&D$6f$'EF&O@QA A A ‰A A A ЉFDFHuf$'ǤF&NufN8F&:F& 1 u2|$=t|$=u$D$6f$'sF&\tG\D$,$U=|$,$D$@8tAD$ #AD$ AD$ AUD$ A/AAD$ AC4C5AC3AD$ C3AC4C5AC6AC7AC9A C8AD$ rAC4C5AC3AC6AC7AC8AC9AD$ 4D$ C4t&ApAAAA@D$ D$ D$ [Ív'<\$,t$0|$4l$8l$Du@|$ t Fx}0%ugD$ D$ D$L$uD$D$T$D$D$$8D$ D$ D$\$D$D$D$L$uD$D$ &vT$D$D$$ U@D$ L$D$$(\$,t$0|$4l$8<ÉVSL$ \$$Q,2C0u_ iUD$ =t =uB ǃ ǃ ǃ <ǃ ǃ ǃ $t&ǃ PEǃ pE$[^Ív'<\$,t$0|$4l$8Ɖ׉L$hD$@<v؋ HT$(|$\$$T$("'6u iUD$(T$Ћ\$,t$0|$4l$8<Í'S(\$0 H T$$D$4D$D$$LT$$'uC-9iUT$8Ѓ([Ít&'UWVS,ÈT$̓|$@{ HD$D$$T$(T$(' u* iUD$!Љ8u (T$($ v;t$@s,[^_]ÍS(Ë T$$D$D$$T$$T'hu$$tvЃ([Ít&,\$$t$(\$0t$4D$#D$#D$t$$ur|$#tyBt_ H T$t$D$$UT$'u$"t &\$$t$(, UWVSC?Rt&(C0C1C2C3C4C5C6D$fC7D$C8C9$QEl@fCCk C\@C@D$E`C,fC$ ElCDC| D$D$$OC,D$ C\P@ D$T$D$$Oƅ\$D$$|$t7D$K T$<BT$LT$D$$$pT$@z\tЃ\D$D$8$T$@BdD$@D$T$8$T$88@'l$8D$$8ic(\$\t$`|$dl$hlÐt&\$t$|$T$ \$$B,8sTC< tM< w<w<s=$<u&'<"t.<"r&<vaB @Fn FnFn {\t){,wC\D$<$C\D$<$]\$<$4$Vx\$t$|$Í\$t$|$t$ ^luD$($T$$fu ~|vtD$($T$$v;{&C4t x5C,@8{Ot\$D$$D$$D$(K$щЃu4C&C'\$ CMD$C0D$C,$t&t~S4t0B2tofB2C4f@2C4@&C4D$<$iGC&C'\$<$cs1C&C'fǃ\$<$#D$($T$$t&\$t$|$S\$Cx$…{tr <u8{tuCCmCCtCT<uPCCtC+vCtu CpuC C[ÍvVSt$tf3:.\$F$6dždžB \$F$5\$t$Ív'UWVSLD$dPT$ @D$J L$T$`88,tFf=w5‹iuGvu8ø t&,tFf=w5‹iuGvu9t$< ;l$L$h< i T$`8$GD$D$$<T$hD$ pA$#$L$$ESD$HD$ D$D$ $)qD$Hl%i'sL)L$$<D$HD$ D$D$ $)D$H%ik()L$$D$HD$ D$D$ $(D$H%ik()L$$jD$HD$ D$ D$ $G(t:D$Ht9%ik()L$$ <D$hT$ RT$+D$8D$<D$@D$DD$ƉL$.t&f  BRЍn@u DŽH֬6  BRЍDŽƬKP @ CBABAB A BABABABAD$ D$ 8iҰFDFGT@ F <u-FHPTF F Rock@etSt@or W"F'E<u!FF FHPTF EJ34fF0 FvW FF dW"F