hưs2D p,COMPILE-DATADGJClLambda Ten5FnFDp,COMPILER,NEW-DESTINATIONSpGLOBALlTpB SITEpB LMIpB SOURCE-FILE-GENERIC-PATHNAME1DplFSMAKE-FASLOAD-PATHNAMEDpB+QUOTElDJDB:DSKDB:DlL,EXAMPLESDB:lFILE-UTILSDB:pB lUNSPECIFICDB:BFpB QFASL-SOURCE-FILE-UNIQUE-ID1DB8DB:B;DB:DSKDB:DlL,EXAMPLESDB:lFILE-UTILSDB:LISPDB:FpB lREADTABLEpB lZLpB BASEF pB ,PACKAGEpB USERˀR4F6PURGE-SOME-DIRS@FFFeFeFeFeFeFeFeFeFepB6DIRECTORY-LISTlLM:~;*.DIRECTORY#>pB NAMEY-OR-N-P&PURGE DIRECTORY ~S?FILESYSTEM-PURGEpB ,VERSIONS-TO-KEEPpB lDIRECTORYDDpB ,MACROS-EXPANDEDDÀPSETQSENDÂINHIBIT-STYLE-WARNINGSÀDOLISTDpB(,ARG-MAPDDVERSIONSDpB(lLOCAL-MAPDNILBBBDCXDDIR@EA@CB BECGDDGxDGAZBCCYAE EbzCB CGDDD8BECGZBCCY@EEwC 8CGEDEDECYOBjˀ FSOURCE-FILEPFA@MEMSTRING-EQUALpB TYPED TEXTLISPBOTEXTEXTXTINITlClHLSPlDIRECTORY,PATCH-DIRECTORYDDBDBDBDDBDA OBˀS>F9BACKUP-HOST-TO-HEREA@CURRENT-PROCESSTERMINAL-IOF F0F2B-FeFeFeFepSYSTEM,STORE-KEYWORD-ARG-VALUESDpB DIRSpB PURGEpB MORE-PpB ,DEEXPOSED-TYPEOUT-ACTIONpB ,PRIORITYpB ,QUANTUMFepB lSET-MORE-PpB SET-DEEXPOSED-TYPEOUT-ACTIONpB PERMITpB SET-QUANTUMpB SET-PRIORITYÂBACKUP-HOST-TO-HERE-1DDBDBWHENDBDDCHOST-NAMEDBDBDDIRSDÀPURGEDÀMORE-PDDTODPRIODÀQUANTDpB(,COMPILER-ARGLISTBC&OPTIONAL&KEYBDBB-@8A@ED@@@@FEDCe||/EDDD D EAEBDCDDDFDEŭOBˀF\FBF@pB6*DISK-SPACE-WARNER-THRESHOLD*pB6,PUT-FREEpB6,PUT-USAGE-ARRAYplSIlLOCAL-HOSTpBlPARSE-HOSTpBTIME-IN-60THSpB6PARSE-PATHNAMEÀFORMAT~A:~A;B}ÂDIRECTORIES-TO-BACKUP~&[Going to backup ~S to ~S]~%[DIRECTORIES: ~S]~%ÁMAP-ALL-FILESDpB ,INTERNALBÁDIR-FROM-SPECpB ,VERSIONpB NEWESTpB ,BEFORE-FDBBFpB CALL-ON-PLISTNREVERSEǀ p~&[TOOK ~$ MINUTES TO LIST THE DIRECTORIES]~%~&[ ~D FILES TO CONSIDER]~%pB NEW-PATHNAMEpB HOSTBÂAPPEND-DIRECTORY-NAMESpB6,CREATE-DIRECTORYCPROBE-FILE~&ALREADY EXISTS: ~A~%pB ,LENGTH-IN-BLOCKS,~&[SCAN OF TARGET TOOK ~$ MINUTES. ~D FILES TO COPY, ~D BLOCKS NEEDED]~%ÀCERRORCOPY ANYWAYNeed ~D Blocks to copy the files, but have only ~D free blocks on local fileÁCOPY-ONE-FILEl~&[~D FILES TO GO]l~%[COPY TOOK ~$ MINUTES. PURGING BACKUP TARGET]~%BB~%[PURGE TOOK ~$ MINUTES, ~D BLOCKS SAVED]~%pB ABORTFOPENCSUBSTRINGpTIMElPRINT-CURRENT-TIMEpB lYY-MMM-DDBTEXTpB lDIRECTIONpB OUTPUTpBIlPRINT-CURRENT-DATE~%Going to backup ~S to ~S~%lDIRECTORIES: ~S~%,Took ~$ minutes to list the directories, ~D files to consider.~%Scan of target took ~$ minutes. ~D files to copy, ~D blocks needed~%Copy took ~$ minutes~%lPurge took ~$ minutes, ~d blocks saved.~%ÀERRORPpB CLOSEDDDBD WITH-OPEN-STREAMÁWITH-OPEN-FILEpBlXR-BQ-LISTPUSHINCFTIME-DIFFERENCEBBBDpB(lLOCAL-FUNCTION-MAPDFDBDDBDBDBDBDDCHDCSTART-TIMEDDIR-TIMEDCSCAN-TIMEDCCOPY-TIMEDCPURGE-TIMEDÀTARGETDÀFILESDÀCFILESDPURGE-RESULTDNEED-BLOCKSBDBDFILEDNEW-FILEDÀFILEDDpB.FILE-ABORTED-FLAG.DLOGDpB INTERNAL-FEF-OFFSETSFF @ B|JA@ @ ED @@FX@EDZ ED@EF EDŁEK8KGLD\@@ELDDDDDKY@GG| BAE[ZB BA EDB EDGE BAGEMwK*8KGMMGAD DFA !D"FA!MG!N#N$N8 E%DNJEME&DZ3JMGNEMI|UzHEZHKY| BAE[ZC@HH E'DCEHEZJDDJ[2JU8()D*DJEDDJ BAHEOwK8KGO+DOE E,DOEHE[IKY| BAE[ZD E-DD BA 8.@/D|!DFA! DF I| BAE[ZE E0DEEI1DPKw}|/E3@FADD4@5@E6| 7D8DD9D:KQ;Q QEDBEGE QE?DCEHEZJ QE@DD DEZQEADEEIPwK8BKXKCDPŭOBˀF DBBFA@BDDBDBdDpB(,LEXICAL-REF-MAPDBDBDDCP8E|ZZ|šOB!ˀ  F DBBFFA@Bl~&DESCENDING ~A~%DDBDDBEDOB*ˀ8(F&B"F@pB SYSTEM-TYPEpB LISPMB~A:~A;B}l~{~A~^.~}pB UNIX~A:~A/l~{~A~^/~}pBNO-CASE-ERRORÀECASEDBHOSTBDpLISPMEMBERBBDDBDÀCONSPBBDBDDBDBDBDDpB.SELECTQ.ITEM.A@t 8E DA āE D@E t 8E DA āEDEDD@EOB"ˀ&RLF<B@ BpB,KEYWORD-GARBAGEF F2FF2pB ROOTF3BF0F0FeFeFeFeFeFeFeBDBBB4pB lIGNORE-DIRECTORIESpB ,DONT-ASKÁMAKE-PATHNAMEB4BYES-OR-NO-P~&Do you really want to delete all the files in ~A?BDBBB(DBBFpB CALL-ON-LISTDDDBDBDBjDFDBD BDVERSIONS-TO-KEEPDCDIRECTORYBDCIGNORE-DIRECTORIESDDONT-ASKDBDSAVED-BLOCKSDPATHDBF F"DBBBDBFDBBDBBBB@8A@EDCEt8DCEF|@DFEDBHGAE 8A8EXDHX D \HE!D"D \#DGO-Bˀ 9@FYDBBFA@plEHlCONDITION-HANDLERSCOMPUTE-EXTRA-FILESB,~D extra files FaÀG4638pB6DONT-DELETE-FLAG-SETpB5CONDITION-CASE-THROWpB DELETE-MULTIPLE-FILESpB ,CONDITION-NAMES~&;Losing because ~A~%pB REPORT-STRINGFile-> ~S~%FÀG4648DB=pB6lOPEN-DELETED-FILEDELETEFBKpB6lEXPUNGE-DIRECTORYB2B}pB WILDBB$l~D block~p saved~%DDBD BeBBBCCONDITION-BIND-IFpBSELECT-MEMQCCONDITION-CASE-IFÁCONDITION-CASEBDBDBDFBDBDDBDBDDEXTRA-FILESBBDBDCFBDBDÀSAVEDB+@E|@T8E D@Ea|.[ D D D D|[AD|[BV@GDE@ŀ9C DCA38EDC@EB+8BGDEDDň|.[DD DD|[AD|[EVDŀF DFAXDFA8EDFBY8@GDDDDDDGEDGEG|ZG3|šOmBˀ FDBBFFA@B~&Hacking ~A pBMEMBER-EQUALPBlignored~%pB IGNOREDDBDBBDBDFBDBDDBB+ED@A |xE OBˀ!PF/B8F@SORTDBB8BB}STRING=CFUNCALL-EXTRA-FILES-FILTERB-DDBDBBdBBDBjDDBDDBDBDBDDÀSORTEDDCURRENT-TYPEDCURRENT-NAMEDCPARTITIONDÀEXTRASBDBDBFE>x@E@@GA@GA @G|UzCBA@IE#8EGF FAA 8 FA B8FECEZC @E CDE[zDFEZCFAAFA BEY @E CDE[zDDOB8ˀ 9F"DBB8F@ÁSTRING-COMPAREB}BB$DDBDBDBDDCF1DCF2DBDDCN@AāA||EE@8@E8@AāA||EE@8@E8A āA S@8OBˀ FBF@COMPUTE-EXTRA-FILES-NUMERICB8COMPUTE-EXTRA-FILES-DEFAULTDDBDDBDBE8DEDZDEOBˀ F BF@BUTLASTDDBDDBDBEOBˀ FBF@B=ltry againdont know how to compute extra files with: ~SBDDBDDBDBDD EOBˀ84FRDpB ,PROPERTYpB ,STANDARDB8F@B~&~A.~A#~{~D~^,~} =>B}BB$BQFASLBLMC,LMC-DCL,LMC-LOCS,LMC-SYM,LMC-TBLEMC,EMC-DCL,EMC-LOCS,EMC-SYM,EMC-TBL~{~D~^,~}~%DDBDSELECTORBBBDBDDÀIGNOREDBDBDBBBDBDBDBEDGAāGA @EBA AEBGCCA ZABBY@ŁGA D DE 8 @3 DE$X DE X DEX DEX DEX DEX DE X DEX DEX DE8E EZU8E @IEEDBwBEEA@ @EAGCCA Z@AAYBEO Bˀ FDBpB QFASLB8F@BQFASLBDDBDBDBDDBDBDG8OBˀ(FB5F@BDDBDDCADCBDBDDÀRESULTEt8E؀E|UzEEt8E؁E|UzE[z@Z8@@O,B5ˀFCCDR-DIRECTORY-NAMEFA@BDDBDDB!Et8EZ8O7B/ˀFÂNTHCDR-DIRECTORY-NAMEF@B/DDBDBDBDDBDB!DBDDB#DCJE|A@@@@AAE9@OJB:ˀ" 8DF-B@ F F2B-F2BQF2BQF2BQF0F0F0FeFeFeFeBDpB lRECURSIVEB}BB$B(B B,DBBBB2B}BB$D DDBDBBBDBjDRECURSEDBDDBeDFILESPECDBD BDCRECURSIVEDNAMEDTYPEDVERSIONDBEFORE-FDCALL-ON-LISTDÁCALL-ON-PLISTBDBFD BBeBsBBDBwB-DByBQDB{BQDB}BQBBB@8A@EDD \HH@DDBEDCEDDOBˀ-j F=DBBBoFA@BzBzBB-B2B5B}BB$DDBDBBBBdD BDFB}DFB{DFByDDFUNCTIONBoDFBeDFBDFBDFBwDFBDBDDB DBDDCLDCDIRS-FOUNDDFILES-FOUNDBDELEMDBB|8|ZAt8@I@8@GD8|8@QAEZA |8@G@QBEZB@Y|8|Z B  @BDwC8CGD|ZDCY @AEwC8CGE|Z DD @EAE D|Z D|ZD|CYOBb1DpB,DEFVAR-1*UBIN-ALIST*DB:DDD,ULAMBDALMC,LMC-DCL,LMC-SYM,LMC-TBLDD,ULAMBDAEMC,EMC-DCL,EMC-SYM,EMC-TBLˀ)3RF\ÁCLEAN-UBIN-DIR@BFlSYS:UBIN;FeFeFeFeFeFeFeFeFeFeBB2B},ULAMBDABBQB$B~&;CLEANING UP ~S~%BzBBÀPRINCl.DBB,GARBAGE COLLECTING ~S~%,DELETING ~D FILE~P...~%BAEXPUNGING...l~D BLOCKS SAVED~%BODDBDBdBBBBBDBjDDBDDBDBDDB BBBDBDGARBAGEDBeDB!DBF!DÁDOCUMENTATION,Delete types as per *UBIN-ALIST*@ADDDDDD@ED@EA@@CBBECQZBCCYAE EbzEwDFwC)8CGFDGwB!8BGGDFAG8FAG8 !DFAGGZDXE"DFFEEEZEBYCYEExE#DEEZEEEG$DEEE%E&D'@OBˀ FDBBF@B$BB}BDDBDBDBDDCEDBBGAě[ x@KxEZ OBˀF8F1CFILESYSTEM-EXPUNGE@BBF F2BF3BFeFeFeFeFeBDBB4ÂFILESYSTEM-DIRECTORIESB4BBl~&;Expunging ~S~%BOl;~D blocks saved~%DDBDBBeBBDBDBDBBDBDÀTOTALBDCDDÀAMOUNTDBBBDBBDBB@8A@EDBEt8DBECD@DCEDAE8EGFEDF@FGEDGDEG3DEYDO7Bˀ%GJF6B$@BBF F3BF2BFeFeFeFeFeBDB4BBDBB$BB4BBlDIRECTORYB}BQB$B&B(DBB$FBDBB$FDDDBDBDBjDFFDBDBBDBDBDBDBFF F"DBBBDBBDBB@8A@EDAEt8DAECD@DCEDBDDDDDDD D\!DE"OcB$ˀ FDBB$FA@DDBDDBBaOoBGˀ FDBB$FFA@B,~&; ~S~%B2B}BQBB$DDBDBBdDBDBDBDDBBaEDŀAD D D D D D |ZZ|šOBJˀ F DBB$FF@DIRECTORY-NAME-DEPTHBDDBDBDBDDCP1DCP2Ba@@ OBLˀF BFA@BDDBDDBEt8EԚOBˀ!KBF6ÁCOPY-ALL-FILESA@ F F0F2B-F2BQF2BQF2B&FeFeFeBDpB lTRANSFORMB_B}BB$CCOMPUTE-ALL-FILESBB_B}BB$Bl~&Computing which files to copy from ~S~%l~D files to copy~%B@DDBDBBBDBDDBsDBD BDCTRANSFORMDBwDByDB{DB}DBBDBD BBsBBBDBwB-DByBQDB{BQDB}B&@8A@ED@EDAEDBEDCEDDEDEFEDEDFEFEG8GGHHQHKHGYOBˀ .8F%COPY-TO-NEW-ROOT@ F F0F2F0F2B&FeFeFeFeBDpB FILTER-TYPESpB lSTRIP-ROOTpB lFILTER-DIRECTORIESB$BBBDBBB$DDDBDBDBjDDBDDBsDTARGET-ROOTDBDBDFILTER-TYPESDCSTRIP-ROOTDCFILTER-DIRECTORIESDB}DBDBFD BBsBBBBDBBDB}B&@8A@ED@EEDD\DDOBˀ2 F!DBBFA@BBBÁSUBDIRECTORY-PBB2B4B5B:DDBDBDBDFBDBDFBDFBDBDDBBDA|8 DA |8 D D|ZA D |ZA |Z OBˀ )FB F@BBDDBDBDBDDDIR2DDIR1DBDDCL1DCL2DBlRETURN T IF DIR2 IS A SUBDIRECTORY OF DIR1Et8؀EEǀEEA@ 8@GAX@A@YO4B ˀ# =FF0BA@ F F0F2B-F2BQF2BQF2B&FeFeFeFeBDBB_B}BB$BDBBB_B}BB$B(DBBFB,B-DDDBDBDBjDFDBDDBsDBDBDBDBwDByDB{DB}DBDBFFDBBsBBDBwB-DByBQDB{BQDB}B&@8A@EDD\EDBEDCEDDEDEEDDD FOgBˀFDBBFA@ÂCOMPUTE-COPY-TRANSFORMDDBDBdDBDBDFBDBDDBDBDDNEWBe@|Z@ xE@E|Uz|ZZ|šOBGˀ  F DBBFFA@Bl~&Descending ~S~%DDBDDB BeEDOBIˀ "FBoF@BlMTMT:B2B4DDBDBDBDDBeDPATHNAMEXE} 8EXE8 D DŀOBoˀ FB@F@B7B8B~&Already exists: ~S~%COPY-ONE-FILE-1DDBDDÁINPUT-PATHNAMEDOUTPUT-PATHNAMEDÀPLIST8E D EEOB@1DBC*COPY-ONE-FILE-PROPERTIES*DB:DpB AUTHORpB CREATION-DATElProperties to carry over to the new file via a :CHANGE-PROPERTIES messageˀ%fJFBF@TIMEBÁ*ERROR-OUTPUT*BBEFBGBPpB INPUTpB lCHARACTERSpB lBYTE-SIZEpB ERRORǀxB[pB REPORTB~&~A (~\scientific\seconds)~%pB ,TRUENAMEFBRpB,SETPROPpB lCHANGE-PROPERTIESl ==> ~A (~\scientific\seconds)~%pB lREAD-INPUT-BUFFER copy: ~\scientific\seconds, ~\scientific\bytes per second~%pB lSTRING-OUTpB ADVANCE-INPUT-BUFFERB] output-close: ~\scientific\seconds input-close: ~\scientific\seconds.DDBD BeCLEXPR-SENDBBSETFBBBfLOCFB`BaDBDDBDBDBDBDBDBDINSTREAMBDBDCOUTSTREAMDCCOPY-PLISTDCNOT-VALUEBDBDÀVALUEDÀBUFFERDÀOFFSETDÀLIMITDÀBYTES BV DA}|/E @E DDDDZDDZD@B| BD[ZB8BDĎEDBA B DD||/E @E DDDDZDDCEE|UzGDH8HGIIEGEzJGuXFIEJHYF8EDEFE| BD[ZEDEA B|NMwLwKwBE|MLKX| BD[ZEDDNE8|D NEMELS3NEDKELEMB  BDwC8CXC!DDŭ| BD[ZE"D BAw@8@X@!DAŭ| BD[ZE#DOBˀH$F-C16B-FILE-TO-ASCIIF@BEFPBGBBFEBPBR16B-STREAM-TO-ASCIIB[B]DDBDBB`BaDBDDCINPUT-FILEDOUTPUT-FILEDBDBDBDÀINPUTBDBDÀOUTPUTDAP||/E@E DE D:@BDDE||/E@E D CEDEZBEEDwC8CXCDDŭ[Aw@8@X@DAŭOBˀH$F-CASCII-FILE-TO-16BF@BEFPBGFEBPBRBBASCII-STREAM-TO-16BB[B]DDBDBB`BaDBDDB DB DBDBDBDBBDBDBDAP||/E@@BDDE||/E@E D D DE D:CEDEZBEEDwC8CXCDDŭ[Aw@8@X@DAŭO1B1DB*OUTPUT-CHARACTER-TABLE*DCMAKE-ARRAYF@1DB*INPUT-CHARACTER-TABLE*DB3F1DCDODDBEDC1+BEDBDB:D@F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZFaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzF*F-DCDRBDDC=BEF@DASETDCARBB2BEDBBEB8DBBˀ 6F!BF@B2pB TYOFÀTERPRIpB TYIDDBDBBDBDDBDBDBDDBEDWORDDÀTABLE|DB@DBEDAEZJہDBE}AEZJہDBE|AEZJ|@E|Z8 @ՀA AY OBˀ /FB#F@CHARB8BBDDBDBBDBDDBDBDBDDBDBD@6@EDJ[A8@EAJ[AE|Z3A@EAJ[AE|Z3A DAŀAYOB#ˀP8F6SXHASH-FILEA@CART-STRINGF F2FFeFeFeFeFeFeFeBDpB lCHUNK-SIZEpBlSIMPLE-MAKE-ARRAYBEFbBGpB lSTRING-INB[B]DDBDBBB`BaBDBDDFILENAMEDBD BDCCHUNK-SIZEDBBDBDBDENDDEOFPDHASHSUMDBBBBDBF@8A@ED@AEBDDb||/E@CE| EE|DEBGFBE||FE`zHG9HEDwC8CXCDDŭOB1DpB,FASL-RECORD-FILE-MACROS-EXPANDEDDB:DDBxBDBFDB<bDB[$4DBWODBV?JODBUlDBSu