d7: both object-storage and tree-storage
parent
4d2c3161d2
commit
ef21991895
|
@ -0,0 +1,4 @@
|
|||
if command -v nix-shell &> /dev/null
|
||||
then
|
||||
use flake
|
||||
fi
|
|
@ -0,0 +1 @@
|
|||
# Bootstrapping clojure project on
|
|
@ -0,0 +1,23 @@
|
|||
$ cd /
|
||||
$ ls
|
||||
dir a
|
||||
14848514 b.txt
|
||||
8504156 c.dat
|
||||
dir d
|
||||
$ cd a
|
||||
$ ls
|
||||
dir e
|
||||
29116 f
|
||||
2557 g
|
||||
62596 h.lst
|
||||
$ cd e
|
||||
$ ls
|
||||
584 i
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd d
|
||||
$ ls
|
||||
4060174 j
|
||||
8033020 d.log
|
||||
5626152 d.ext
|
||||
7214296 k
|
|
@ -0,0 +1,979 @@
|
|||
$ cd /
|
||||
$ ls
|
||||
dir plws
|
||||
dir pwlbgbz
|
||||
dir pwtpltr
|
||||
dir szn
|
||||
$ cd plws
|
||||
$ ls
|
||||
dir ffpzc
|
||||
dir frcmjzts
|
||||
92461 nbvnzg
|
||||
dir phqcg
|
||||
21621 vqgsglwq
|
||||
$ cd ffpzc
|
||||
$ ls
|
||||
48459 dzdfc.vqq
|
||||
143107 jql.jzl
|
||||
208330 mmnvqn.hqb
|
||||
290122 svjvhflz
|
||||
218008 wjlmgq
|
||||
$ cd ..
|
||||
$ cd frcmjzts
|
||||
$ ls
|
||||
dir bsltmjz
|
||||
dir jfzgrbm
|
||||
$ cd bsltmjz
|
||||
$ ls
|
||||
34237 dzdfc.vqq
|
||||
58741 mdgdhqgw
|
||||
$ cd ..
|
||||
$ cd jfzgrbm
|
||||
$ ls
|
||||
132811 fcmpng
|
||||
103661 lgt.swt
|
||||
173031 vqgsglwq
|
||||
29134 wprjfg.zbr
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd phqcg
|
||||
$ ls
|
||||
955 jgfs.zjw
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd pwlbgbz
|
||||
$ ls
|
||||
dir gbg
|
||||
dir mjzhcwrd
|
||||
dir njcscpj
|
||||
dir sphbzn
|
||||
dir tbgjpphc
|
||||
55938 tvrfpczc.djm
|
||||
4840 twd
|
||||
$ cd gbg
|
||||
$ ls
|
||||
287003 fcsjl.bzm
|
||||
dir wgq
|
||||
$ cd wgq
|
||||
$ ls
|
||||
22963 fcsjl.fcm
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd mjzhcwrd
|
||||
$ ls
|
||||
228632 clfnpmbq.zmb
|
||||
28276 dzdfc.vqq
|
||||
2982 tdbg.wgn
|
||||
$ cd ..
|
||||
$ cd njcscpj
|
||||
$ ls
|
||||
dir dqzgqgv
|
||||
275186 ffpzc
|
||||
192491 gjnflc.plq
|
||||
$ cd dqzgqgv
|
||||
$ ls
|
||||
70309 dzdfc.vqq
|
||||
56139 fcsjl
|
||||
142095 sgwz.cdz
|
||||
dir snjntth
|
||||
dir sphbzn
|
||||
284618 wjlmgq
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
51918 ffpzc
|
||||
dir vrfgfds
|
||||
$ cd vrfgfds
|
||||
$ ls
|
||||
155233 jlscz
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd sphbzn
|
||||
$ ls
|
||||
dir qbzwrrw
|
||||
dir qwpzn
|
||||
$ cd qbzwrrw
|
||||
$ ls
|
||||
278531 fcsjl.tqj
|
||||
211591 snjntth.gpd
|
||||
$ cd ..
|
||||
$ cd qwpzn
|
||||
$ ls
|
||||
174183 vqgsglwq
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd sphbzn
|
||||
$ ls
|
||||
185471 bsltmjz.fqz
|
||||
dir bsvh
|
||||
dir fvzcs
|
||||
dir ndw
|
||||
dir nlml
|
||||
dir pcbt
|
||||
286260 zhcmrpvt
|
||||
$ cd bsvh
|
||||
$ ls
|
||||
130814 wjlmgq
|
||||
$ cd ..
|
||||
$ cd fvzcs
|
||||
$ ls
|
||||
dir cgmv
|
||||
dir ggzwljr
|
||||
298241 qvzghdpw.lms
|
||||
dir snjntth
|
||||
dir sphbzn
|
||||
$ cd cgmv
|
||||
$ ls
|
||||
46843 dzdfc.vqq
|
||||
dir lmqcbbm
|
||||
dir rstcqsmd
|
||||
215261 snjntth
|
||||
$ cd lmqcbbm
|
||||
$ ls
|
||||
229898 bdmbvgp
|
||||
25529 ffpzc.stm
|
||||
16871 lnpjzvg.qlj
|
||||
$ cd ..
|
||||
$ cd rstcqsmd
|
||||
$ ls
|
||||
289038 zrbbbwng.smf
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ggzwljr
|
||||
$ ls
|
||||
198200 bcthn
|
||||
$ cd ..
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
191672 fwp.phf
|
||||
68229 hzs.zpg
|
||||
dir pggcwb
|
||||
222426 qbv.bwj
|
||||
dir snjntth
|
||||
155354 vmqcm
|
||||
$ cd pggcwb
|
||||
$ ls
|
||||
154272 fqztwvnv.lvv
|
||||
dir pdjg
|
||||
62393 vqgsglwq
|
||||
dir wjhrtg
|
||||
$ cd pdjg
|
||||
$ ls
|
||||
260644 gvhlrcf
|
||||
209906 wpls.pbd
|
||||
$ cd ..
|
||||
$ cd wjhrtg
|
||||
$ ls
|
||||
148640 dljf.zrq
|
||||
172168 dzdfc.vqq
|
||||
196203 hjdphcfm
|
||||
247620 sgwz.cdz
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
37467 ndlshlmj.cjq
|
||||
257404 snjntth.nsf
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd sphbzn
|
||||
$ ls
|
||||
64082 bfdv.lwv
|
||||
dir bsltmjz
|
||||
58942 dzdfc.vqq
|
||||
dir snjntth
|
||||
$ cd bsltmjz
|
||||
$ ls
|
||||
dir bsqqdr
|
||||
266007 fcsjl.gfm
|
||||
dir ffpzc
|
||||
dir frsmrd
|
||||
72122 nthnhzwf
|
||||
286705 wjlmgq
|
||||
$ cd bsqqdr
|
||||
$ ls
|
||||
117496 wcqt
|
||||
$ cd ..
|
||||
$ cd ffpzc
|
||||
$ ls
|
||||
280224 mmnvqn.hqb
|
||||
105346 vrr
|
||||
$ cd ..
|
||||
$ cd frsmrd
|
||||
$ ls
|
||||
111509 sphbzn.shz
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
177491 mplj
|
||||
9029 pvbz.jwn
|
||||
92891 snjntth.zrv
|
||||
203356 vnnnw.gql
|
||||
134728 vqgsglwq
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ndw
|
||||
$ ls
|
||||
241303 bht.rpj
|
||||
173068 vqgsglwq
|
||||
$ cd ..
|
||||
$ cd nlml
|
||||
$ ls
|
||||
228982 hzglfpvq.ftt
|
||||
114981 sgwz.cdz
|
||||
$ cd ..
|
||||
$ cd pcbt
|
||||
$ ls
|
||||
dir bsltmjz
|
||||
dir ffpzc
|
||||
dir fjsjwfg
|
||||
dir fwm
|
||||
dir jvwt
|
||||
227943 tmr.jdc
|
||||
dir vwpqzdwh
|
||||
31258 wjlmgq
|
||||
$ cd bsltmjz
|
||||
$ ls
|
||||
177750 bsltmjz.spj
|
||||
dir ffpzc
|
||||
dir flrpwfs
|
||||
138824 mtmdtcpv.cfj
|
||||
165770 wzqwczj.qwn
|
||||
$ cd ffpzc
|
||||
$ ls
|
||||
179645 snjntth.dss
|
||||
$ cd ..
|
||||
$ cd flrpwfs
|
||||
$ ls
|
||||
60566 wvjq.gmm
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ffpzc
|
||||
$ ls
|
||||
97847 qzhhtmd.bhw
|
||||
1197 vqgsglwq
|
||||
$ cd ..
|
||||
$ cd fjsjwfg
|
||||
$ ls
|
||||
152232 dnsdd.jgz
|
||||
181301 gsb.wsh
|
||||
dir jqpb
|
||||
dir jscbg
|
||||
dir snjntth
|
||||
227677 snjntth.vvg
|
||||
dir sphbzn
|
||||
75358 vqgsglwq
|
||||
2589 wjlmgq
|
||||
$ cd jqpb
|
||||
$ ls
|
||||
253403 mmnvqn.hqb
|
||||
108325 rvq.mrc
|
||||
$ cd ..
|
||||
$ cd jscbg
|
||||
$ ls
|
||||
dir dtm
|
||||
dir gsdnz
|
||||
208269 prh
|
||||
25977 qdzljgh
|
||||
169262 vmnq.mth
|
||||
$ cd dtm
|
||||
$ ls
|
||||
80072 gzqnb
|
||||
$ cd ..
|
||||
$ cd gsdnz
|
||||
$ ls
|
||||
dir dsqzjs
|
||||
297895 sgwz.cdz
|
||||
129983 vqgsglwq
|
||||
$ cd dsqzjs
|
||||
$ ls
|
||||
2621 jqrlsf.gzs
|
||||
164844 snjntth
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
118553 cbhql
|
||||
dir ffpzc
|
||||
dir snjntth
|
||||
$ cd ffpzc
|
||||
$ ls
|
||||
dir lmn
|
||||
12104 tvlwn.vhh
|
||||
$ cd lmn
|
||||
$ ls
|
||||
46401 bsltmjz
|
||||
96888 shrnqhvq
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
dir snjntth
|
||||
dir vlnfhbq
|
||||
dir wpwl
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
dir ctj
|
||||
$ cd ctj
|
||||
$ ls
|
||||
82485 fcsjl.lfl
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd vlnfhbq
|
||||
$ ls
|
||||
250106 qvf
|
||||
$ cd ..
|
||||
$ cd wpwl
|
||||
$ ls
|
||||
153950 cmsd.rlg
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd sphbzn
|
||||
$ ls
|
||||
dir glgq
|
||||
$ cd glgq
|
||||
$ ls
|
||||
285182 wjlmgq
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd fwm
|
||||
$ ls
|
||||
251865 ffpzc.qgb
|
||||
279522 zvvpfqtp
|
||||
$ cd ..
|
||||
$ cd jvwt
|
||||
$ ls
|
||||
48990 bsltmjz.nzp
|
||||
219604 ffpzc
|
||||
69573 mvmdfzr.lwb
|
||||
$ cd ..
|
||||
$ cd vwpqzdwh
|
||||
$ ls
|
||||
267581 pvcch
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd tbgjpphc
|
||||
$ ls
|
||||
255571 dstpcgr.tfq
|
||||
dir fdbwbrpp
|
||||
dir gjzwh
|
||||
dir hjvrtjt
|
||||
dir rhzczj
|
||||
292888 sgwz.cdz
|
||||
dir wlzhr
|
||||
149395 wnfzrqgz.dtn
|
||||
$ cd fdbwbrpp
|
||||
$ ls
|
||||
dir ffpzc
|
||||
dir qbrth
|
||||
51164 qprp
|
||||
dir slpt
|
||||
117026 sphbzn
|
||||
295685 vqgsglwq
|
||||
dir znmj
|
||||
$ cd ffpzc
|
||||
$ ls
|
||||
dir jhnzrdvb
|
||||
$ cd jhnzrdvb
|
||||
$ ls
|
||||
217775 ffpzc.sgw
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd qbrth
|
||||
$ ls
|
||||
183969 lpbwgfjv.vcg
|
||||
47333 wjlmgq
|
||||
$ cd ..
|
||||
$ cd slpt
|
||||
$ ls
|
||||
32343 tqhtj.jwz
|
||||
$ cd ..
|
||||
$ cd znmj
|
||||
$ ls
|
||||
55058 mmnvqn.hqb
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd gjzwh
|
||||
$ ls
|
||||
dir dvcbcd
|
||||
202530 dzdfc.vqq
|
||||
dir fsgz
|
||||
dir hfrrqq
|
||||
54897 jlzn.qsn
|
||||
16097 ldzqsbb.jzl
|
||||
225078 pswccrd
|
||||
dir rqqmldw
|
||||
292464 rzrdhbp.vld
|
||||
dir ssqbqqp
|
||||
dir zsztqrc
|
||||
$ cd dvcbcd
|
||||
$ ls
|
||||
187837 dzdfc.vqq
|
||||
dir jlwtvf
|
||||
dir jnjvshs
|
||||
164053 nrf.fqd
|
||||
5665 tlp.jmt
|
||||
13801 wjlmgq
|
||||
$ cd jlwtvf
|
||||
$ ls
|
||||
219985 sphbzn.dvj
|
||||
$ cd ..
|
||||
$ cd jnjvshs
|
||||
$ ls
|
||||
dir bsltmjz
|
||||
dir nrpm
|
||||
$ cd bsltmjz
|
||||
$ ls
|
||||
152972 qgdqj
|
||||
$ cd ..
|
||||
$ cd nrpm
|
||||
$ ls
|
||||
18509 wjlmgq
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd fsgz
|
||||
$ ls
|
||||
224576 mmnvqn.hqb
|
||||
$ cd ..
|
||||
$ cd hfrrqq
|
||||
$ ls
|
||||
dir bwgsnfvb
|
||||
dir fcsjl
|
||||
294608 ffpzc.gvm
|
||||
136880 qjcgtw
|
||||
dir sphbzn
|
||||
$ cd bwgsnfvb
|
||||
$ ls
|
||||
29735 dzdfc.vqq
|
||||
dir wstmzfml
|
||||
$ cd wstmzfml
|
||||
$ ls
|
||||
158447 bnvhbvvc.nrt
|
||||
59889 jclclgd
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd fcsjl
|
||||
$ ls
|
||||
138297 ffpzc.szw
|
||||
$ cd ..
|
||||
$ cd sphbzn
|
||||
$ ls
|
||||
dir wqdths
|
||||
$ cd wqdths
|
||||
$ ls
|
||||
8326 cgvtw.jpz
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd rqqmldw
|
||||
$ ls
|
||||
226757 dzdfc.vqq
|
||||
115055 mwb.btc
|
||||
dir qpts
|
||||
298524 sgwz.cdz
|
||||
$ cd qpts
|
||||
$ ls
|
||||
60860 bsltmjz.frp
|
||||
dir fcsjl
|
||||
94904 sgwz.cdz
|
||||
dir wnmqqspz
|
||||
$ cd fcsjl
|
||||
$ ls
|
||||
25082 mmnvqn.hqb
|
||||
$ cd ..
|
||||
$ cd wnmqqspz
|
||||
$ ls
|
||||
165529 sgwz.cdz
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ssqbqqp
|
||||
$ ls
|
||||
192477 pvrgm
|
||||
$ cd ..
|
||||
$ cd zsztqrc
|
||||
$ ls
|
||||
254053 lht.htn
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd hjvrtjt
|
||||
$ ls
|
||||
189942 fwps
|
||||
$ cd ..
|
||||
$ cd rhzczj
|
||||
$ ls
|
||||
36502 bmtfr
|
||||
dir ffjz
|
||||
35148 nctfhmzm.vsz
|
||||
dir qdgjzcz
|
||||
208196 rwql
|
||||
79863 sgwz.cdz
|
||||
dir snjntth
|
||||
$ cd ffjz
|
||||
$ ls
|
||||
dir grsvhwm
|
||||
$ cd grsvhwm
|
||||
$ ls
|
||||
50231 fwj.rdv
|
||||
dir snjntth
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
dir dtbgb
|
||||
$ cd dtbgb
|
||||
$ ls
|
||||
150245 vdflm.lmq
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd qdgjzcz
|
||||
$ ls
|
||||
222389 dzdfc.vqq
|
||||
$ cd ..
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
56794 mmnvqn.hqb
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd wlzhr
|
||||
$ ls
|
||||
116628 bsltmjz
|
||||
60122 jqpbsgnr.fgb
|
||||
252605 lfss
|
||||
300065 qwjdl.vhr
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd pwtpltr
|
||||
$ ls
|
||||
dir dplsvrhl
|
||||
140951 gwtfzqvd.znb
|
||||
dir jbvdb
|
||||
dir jst
|
||||
dir qhjv
|
||||
dir snjntth
|
||||
$ cd dplsvrhl
|
||||
$ ls
|
||||
272101 fcsjl
|
||||
dir ffpzc
|
||||
58852 mmnvqn.hqb
|
||||
dir mnhntjz
|
||||
91899 sgwz.cdz
|
||||
228077 snjntth.btv
|
||||
$ cd ffpzc
|
||||
$ ls
|
||||
5499 bsltmjz
|
||||
dir qmfwpjhl
|
||||
dir rsrb
|
||||
dir wgt
|
||||
$ cd qmfwpjhl
|
||||
$ ls
|
||||
300362 dzdfc.vqq
|
||||
$ cd ..
|
||||
$ cd rsrb
|
||||
$ ls
|
||||
252983 dzdfc.vqq
|
||||
107744 ltssrgqb.zvj
|
||||
214895 rhglgcwr.wpw
|
||||
249727 sgwz.cdz
|
||||
$ cd ..
|
||||
$ cd wgt
|
||||
$ ls
|
||||
141984 dzdfc.vqq
|
||||
194686 mmnvqn.hqb
|
||||
258023 pgr
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd mnhntjz
|
||||
$ ls
|
||||
dir bdvght
|
||||
dir jprwchh
|
||||
dir snjntth
|
||||
$ cd bdvght
|
||||
$ ls
|
||||
243166 vpsvjdq.wsn
|
||||
$ cd ..
|
||||
$ cd jprwchh
|
||||
$ ls
|
||||
178943 bmpc.bjb
|
||||
$ cd ..
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
dir nlbm
|
||||
dir zjmjntff
|
||||
$ cd nlbm
|
||||
$ ls
|
||||
33050 fcsjl.rcc
|
||||
dir sphbzn
|
||||
17446 wjlmgq
|
||||
$ cd sphbzn
|
||||
$ ls
|
||||
214563 prrfhff.pbp
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd zjmjntff
|
||||
$ ls
|
||||
82134 sgwz.cdz
|
||||
52203 vrtlgdq.crp
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd jbvdb
|
||||
$ ls
|
||||
dir wmtjh
|
||||
$ cd wmtjh
|
||||
$ ls
|
||||
dir ggvwn
|
||||
$ cd ggvwn
|
||||
$ ls
|
||||
192285 spqvmf.sdh
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd jst
|
||||
$ ls
|
||||
dir bsltmjz
|
||||
212740 dzdfc.vqq
|
||||
dir gncztvtb
|
||||
dir jsqjcqnt
|
||||
286257 jvs
|
||||
36654 sdcsm.mbg
|
||||
192040 sgwz.cdz
|
||||
dir tbqphzb
|
||||
dir vdcqgts
|
||||
285843 wjlmgq
|
||||
$ cd bsltmjz
|
||||
$ ls
|
||||
215705 snjntth.gpv
|
||||
213665 wjlmgq
|
||||
$ cd ..
|
||||
$ cd gncztvtb
|
||||
$ ls
|
||||
229298 vqgsglwq
|
||||
$ cd ..
|
||||
$ cd jsqjcqnt
|
||||
$ ls
|
||||
dir bsltmjz
|
||||
dir fcsjl
|
||||
dir ffpzc
|
||||
dir sphbzn
|
||||
70864 vqgsglwq
|
||||
$ cd bsltmjz
|
||||
$ ls
|
||||
14981 pqzffzjc
|
||||
$ cd ..
|
||||
$ cd fcsjl
|
||||
$ ls
|
||||
140328 jwhczwbc
|
||||
$ cd ..
|
||||
$ cd ffpzc
|
||||
$ ls
|
||||
213650 mmnvqn.hqb
|
||||
$ cd ..
|
||||
$ cd sphbzn
|
||||
$ ls
|
||||
dir psmtphhq
|
||||
dir sphbzn
|
||||
$ cd psmtphhq
|
||||
$ ls
|
||||
dir ffpzc
|
||||
123131 tzgwd
|
||||
$ cd ffpzc
|
||||
$ ls
|
||||
49737 cfngvmd
|
||||
dir gcnrp
|
||||
172799 gmd.cwl
|
||||
dir llnztjf
|
||||
dir nbqs
|
||||
79661 rrqz
|
||||
$ cd gcnrp
|
||||
$ ls
|
||||
283 vqnrgl.vwp
|
||||
$ cd ..
|
||||
$ cd llnztjf
|
||||
$ ls
|
||||
63263 tjhm.bwh
|
||||
$ cd ..
|
||||
$ cd nbqs
|
||||
$ ls
|
||||
dir vssmq
|
||||
$ cd vssmq
|
||||
$ ls
|
||||
88980 dzdfc.vqq
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd sphbzn
|
||||
$ ls
|
||||
20140 fcsjl.zrs
|
||||
260579 snjntth
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd tbqphzb
|
||||
$ ls
|
||||
93470 sgwz.cdz
|
||||
$ cd ..
|
||||
$ cd vdcqgts
|
||||
$ ls
|
||||
223564 dzdfc.vqq
|
||||
dir ffpzc
|
||||
dir gwhfgwf
|
||||
dir nbjtqnng
|
||||
dir snjntth
|
||||
$ cd ffpzc
|
||||
$ ls
|
||||
42813 qwwmw.nmt
|
||||
$ cd ..
|
||||
$ cd gwhfgwf
|
||||
$ ls
|
||||
59918 jvfv.mpm
|
||||
dir mjl
|
||||
211039 pcwl
|
||||
$ cd mjl
|
||||
$ ls
|
||||
13004 pgjb.tpq
|
||||
195995 tms.fjz
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd nbjtqnng
|
||||
$ ls
|
||||
107058 dzdfc.vqq
|
||||
dir ldrsd
|
||||
111631 vqgsglwq
|
||||
104599 wbzmdljw.tjq
|
||||
155747 wjlmgq
|
||||
$ cd ldrsd
|
||||
$ ls
|
||||
107439 jvjm
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
242680 fgrt.gng
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd qhjv
|
||||
$ ls
|
||||
dir bmnm
|
||||
68453 hjjpdgn.hwl
|
||||
dir sjlbj
|
||||
dir vqnrj
|
||||
$ cd bmnm
|
||||
$ ls
|
||||
1238 vqgsglwq
|
||||
$ cd ..
|
||||
$ cd sjlbj
|
||||
$ ls
|
||||
44239 wzzbtmrz.gml
|
||||
$ cd ..
|
||||
$ cd vqnrj
|
||||
$ ls
|
||||
3286 bsltmjz.qlc
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
130833 blm.wmt
|
||||
dir snjntth
|
||||
dir tcnmbcgg
|
||||
218869 wjlmgq
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
dir snmrdfbt
|
||||
$ cd snmrdfbt
|
||||
$ ls
|
||||
281025 bzrsds.lfg
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd tcnmbcgg
|
||||
$ ls
|
||||
194998 fcsjl
|
||||
dir qdrmpqgn
|
||||
dir rzqd
|
||||
dir tcsds
|
||||
$ cd qdrmpqgn
|
||||
$ ls
|
||||
165713 qmzgt.tnc
|
||||
$ cd ..
|
||||
$ cd rzqd
|
||||
$ ls
|
||||
dir cwhnmlv
|
||||
57819 fcsjl
|
||||
246864 pjnzdvd.gjm
|
||||
$ cd cwhnmlv
|
||||
$ ls
|
||||
287539 mmnvqn.hqb
|
||||
215636 pbnjt.zbn
|
||||
124638 sqd
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd tcsds
|
||||
$ ls
|
||||
78812 gfmgb.wqj
|
||||
218987 hnhfvz.dln
|
||||
209640 mzzhqlq.zqp
|
||||
102492 nml.ppg
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd szn
|
||||
$ ls
|
||||
dir fcsjl
|
||||
dir snjntth
|
||||
dir zjbp
|
||||
$ cd fcsjl
|
||||
$ ls
|
||||
158019 jsv.pmz
|
||||
$ cd ..
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
229510 dfvpvp
|
||||
191061 fgplbptq.jlt
|
||||
dir lfb
|
||||
234911 lfsrwr.wcb
|
||||
dir lrfcgzl
|
||||
48031 stbbw
|
||||
219691 vqgsglwq
|
||||
dir zshh
|
||||
$ cd lfb
|
||||
$ ls
|
||||
dir btj
|
||||
99591 dhrjbvvg.gwm
|
||||
137224 dzdfc.vqq
|
||||
201972 jtzmqsvj.wnd
|
||||
9704 mmnvqn.hqb
|
||||
dir pwg
|
||||
200308 snjntth.css
|
||||
dir wcmhcfm
|
||||
dir zwhvmln
|
||||
$ cd btj
|
||||
$ ls
|
||||
dir rnbzdfgn
|
||||
51799 wdhsm
|
||||
dir wvf
|
||||
$ cd rnbzdfgn
|
||||
$ ls
|
||||
117095 bsltmjz.tlv
|
||||
$ cd ..
|
||||
$ cd wvf
|
||||
$ ls
|
||||
dir ffpzc
|
||||
dir ncbmgpsc
|
||||
dir wtwrmjnt
|
||||
$ cd ffpzc
|
||||
$ ls
|
||||
249919 lsth.fmf
|
||||
$ cd ..
|
||||
$ cd ncbmgpsc
|
||||
$ ls
|
||||
147899 dzdfc.vqq
|
||||
$ cd ..
|
||||
$ cd wtwrmjnt
|
||||
$ ls
|
||||
252366 pvpdv.jwz
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd pwg
|
||||
$ ls
|
||||
280845 fcsjl.fjz
|
||||
44300 sgwz.cdz
|
||||
dir snjntth
|
||||
229605 vqgsglwq
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
2053 pflvsnzs
|
||||
143522 sgwz.cdz
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd wcmhcfm
|
||||
$ ls
|
||||
229329 qsznhwlw.vjg
|
||||
$ cd ..
|
||||
$ cd zwhvmln
|
||||
$ ls
|
||||
dir ffpzc
|
||||
dir tjjzbf
|
||||
dir wzcq
|
||||
$ cd ffpzc
|
||||
$ ls
|
||||
dir ncnj
|
||||
37497 vqgsglwq
|
||||
$ cd ncnj
|
||||
$ ls
|
||||
40920 htbjhjq
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd tjjzbf
|
||||
$ ls
|
||||
47522 mczn.spd
|
||||
$ cd ..
|
||||
$ cd wzcq
|
||||
$ ls
|
||||
56662 ffpzc.vwp
|
||||
dir snjntth
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
117276 wjlmgq
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd lrfcgzl
|
||||
$ ls
|
||||
267485 rsjmpph.qqz
|
||||
$ cd ..
|
||||
$ cd zshh
|
||||
$ ls
|
||||
dir ffpzc
|
||||
dir gmn
|
||||
dir snjntth
|
||||
150048 tgtlh
|
||||
32020 thfr
|
||||
72152 vqgsglwq
|
||||
$ cd ffpzc
|
||||
$ ls
|
||||
dir snjntth
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
224945 dpfpz
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd gmn
|
||||
$ ls
|
||||
238996 sgwz.cdz
|
||||
$ cd ..
|
||||
$ cd snjntth
|
||||
$ ls
|
||||
86775 dzdfc.vqq
|
||||
19560 vshcmjj
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd ..
|
||||
$ cd zjbp
|
||||
$ ls
|
||||
dir fcsjl
|
||||
41522 nlvpb.fpf
|
||||
dir nmtjtd
|
||||
$ cd fcsjl
|
||||
$ ls
|
||||
276802 fcsjl.psm
|
||||
197934 sgwz.cdz
|
||||
$ cd ..
|
||||
$ cd nmtjtd
|
||||
$ ls
|
||||
47477 dvqmqlgw.ths
|
||||
51081 vqgsglwq
|
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
"nodes": {
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1667395993,
|
||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1670064435,
|
||||
"narHash": "sha256-+ELoY30UN+Pl3Yn7RWRPabykwebsVK/kYE9JsIsUMxQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "61a8a98e6d557e6dd7ed0cdb54c3a3e3bbc5e25c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
{
|
||||
description = "D4 AOC with Lua!";
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
outputs = { nixpkgs, flake-utils, ... } @ inputs:
|
||||
flake-utils.lib.eachSystem flake-utils.lib.defaultSystems (sys:
|
||||
let
|
||||
overlays = [ ];
|
||||
pkgs = import nixpkgs { system = sys; overlays = overlays; };
|
||||
shellHookAfter = ''
|
||||
echo "The input files should be placed under ./data/{submission,example}.txt"
|
||||
echo "This problem shares one input between two parts"
|
||||
'';
|
||||
py_pkgs = [ pkgs.python310 ];
|
||||
ocamlPackager = pkgs.ocaml-ng.ocamlPackages_4_14;
|
||||
ocaml_pkgs = let inherit (ocamlPackager) ocaml findlib dune_2 ocaml-lsp; in
|
||||
[ ocaml findlib dune_2 ocaml-lsp ];
|
||||
ocaml_build_pkgs = [ ocamlPackager.ocamlgraph ];
|
||||
in
|
||||
{
|
||||
# Jack of all trades
|
||||
devShell = pkgs.mkShell
|
||||
{
|
||||
nativeBuildInputs = py_pkgs ++ ocaml_pkgs;
|
||||
shellHook = ''
|
||||
echo "> Default runtime. This contains both ocaml and python3 env"
|
||||
echo "Run ./run-py.sh for Python's output and ./run-oml.sh for OCaml's output"
|
||||
'' + shellHookAfter;
|
||||
};
|
||||
devShells = {
|
||||
# nix develop ./#lua
|
||||
# lua = pkgs.mkShell {
|
||||
# nativeBuildInputs = lua_pkgs;
|
||||
# shellHook = ''
|
||||
# echo "> Lua runtime"
|
||||
# echo "Run ./run-lua.sh to see the output of the solution"
|
||||
# '' + shellHookAfter;
|
||||
# };
|
||||
|
||||
# nix develop ./#fennel
|
||||
ocaml = pkgs.mkShell
|
||||
{
|
||||
nativeBuildInputs = ocaml_pkgs;
|
||||
shellHook = ''
|
||||
echo "> OCaml runtime"
|
||||
echo "Run ./run-oml.sh to see output of OCaml solution"
|
||||
'' + shellHookAfter;
|
||||
};
|
||||
|
||||
# nix develop ./#python
|
||||
python = pkgs.mkShell {
|
||||
nativeBuildInputs = py_pkgs;
|
||||
shellHook = ''
|
||||
echo "> Python3 runtime"
|
||||
echo "Run ./run-py.sh to see the output of the solution"
|
||||
'' + shellHookAfter;
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/env sh
|
||||
echo "example"
|
||||
python3 ./src/d7_2.py ./data/example.txt
|
||||
|
||||
echo "submission"
|
||||
python3 ./src/d7_2.py ./data/submission.txt
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/env sh
|
||||
echo "example"
|
||||
python3 ./src/d7.py ./data/example.txt
|
||||
|
||||
echo "submission"
|
||||
python3 ./src/d7.py ./data/submission.txt
|
||||
|
|
@ -0,0 +1,123 @@
|
|||
#!/usr/bin/env python3
|
||||
from typing import Iterable, Optional
|
||||
from dataclasses import dataclass
|
||||
from functools import reduce
|
||||
|
||||
@dataclass
|
||||
class File:
|
||||
name: str
|
||||
is_dir: bool
|
||||
children: dict[str, "File"]
|
||||
parent: Optional["File"]
|
||||
size: Optional[int]
|
||||
|
||||
class Main:
|
||||
def __init__(self, lines: Iterable[str]):
|
||||
self.root = File("/",True, {}, None, None)
|
||||
self.cwd = self.root
|
||||
self.lines = lines
|
||||
|
||||
def handle_cmd(self, cmdlets: list[str]):
|
||||
match cmdlets[0]:
|
||||
case "cd":
|
||||
dest = cmdlets[1]
|
||||
match dest:
|
||||
case "/":
|
||||
self.cwd = self.root
|
||||
case "..":
|
||||
if not self.cwd.parent:
|
||||
return self
|
||||
self.cwd = self.cwd.parent
|
||||
case _:
|
||||
self.cwd = self.cwd.children[dest]
|
||||
# validate cwd
|
||||
return self
|
||||
case "ls":
|
||||
return self
|
||||
case _:
|
||||
raise RuntimeError(f"Unknown command: {cmdlets[0]}")
|
||||
|
||||
def parse(self):
|
||||
for _line in self.lines:
|
||||
line = _line.strip()
|
||||
if len(line) == 0:
|
||||
continue
|
||||
# print("line:", line)
|
||||
if line[0] == "$": # command
|
||||
cmdlets = line[1:].split()
|
||||
self.handle_cmd(cmdlets)
|
||||
continue
|
||||
# it's just ls listing, update it to our object storage
|
||||
(sz, rel_path) = line.split()
|
||||
self.cwd.children[rel_path] = File(name=rel_path,
|
||||
is_dir=sz == "dir",
|
||||
children={},
|
||||
parent=self.cwd,
|
||||
size=int(sz) if sz != "dir" else None)
|
||||
return self
|
||||
|
||||
def solve(self):
|
||||
self.parse()
|
||||
def sized(file: File, parent: Optional[File]):
|
||||
"""
|
||||
alternative file
|
||||
"""
|
||||
if file.size:
|
||||
return file
|
||||
retval = File(file.name, file.is_dir, {}, None, None)
|
||||
children = {rel_path: sized(f, retval) for rel_path, f in file.children.items()}
|
||||
retval.children = children
|
||||
retval.parent = parent
|
||||
retval.size = sum(c.size for c in children.values())
|
||||
return retval
|
||||
|
||||
def sum_with_threshold(sized_file: File, max_sz: int) -> int:
|
||||
assert sized_file.size is not None
|
||||
sz = 0
|
||||
if sized_file.size <= max_sz and len(sized_file.children) != 0:
|
||||
# print("qual:", sized_file.name)
|
||||
sz = sized_file.size
|
||||
return sum(sum_with_threshold(c, max_sz) for c in sized_file.children.values()) + sz
|
||||
sized_root = sized(self.root, None)
|
||||
|
||||
part1 = sum_with_threshold(sized_root, 100_000)
|
||||
print("part1", part1)
|
||||
|
||||
def directories(file: File) -> list[File]:
|
||||
if not file.is_dir:
|
||||
return []
|
||||
return [file] + [dir for f in file.children.values() for dir in directories(f)]
|
||||
|
||||
def upper_bound(sized_file: File, min_sz: int) -> list[File]:
|
||||
assert sized_file.size is not None
|
||||
if sized_file.size < min_sz or len(sized_file.children) == 0:
|
||||
return []
|
||||
min_f: File = sized_file
|
||||
contests = [c for e in sized_file.children.values() for c in upper_bound(e, min_sz)]
|
||||
return [min_f] + contests
|
||||
|
||||
TOTAL=70_000_000
|
||||
NEED=30_000_000
|
||||
assert sized_root.size is not None
|
||||
DELETE=NEED-(TOTAL-sized_root.size)
|
||||
print(f"{DELETE=}")
|
||||
part2 = upper_bound(sized_root, DELETE)
|
||||
p = sorted(part2, key=lambda x: x.size or 0)
|
||||
# print("part2 qual:", "\n".join([f"({e.name}, {e.size})" for e in p]))
|
||||
print("part2", p[0].size if part2 else "None")
|
||||
|
||||
sorted_dirs = sorted(directories(sized_root), key=lambda x: x.size or 0)
|
||||
# Before is_dir: 176 for part 2
|
||||
print(f"directories ({len(sorted_dirs)}):")
|
||||
print("\n".join(f"{dir.name}\t{dir.size}" for dir in sorted_dirs))
|
||||
|
||||
|
||||
def main(lines: Iterable[str]):
|
||||
Main(list(lines)).solve()
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import sys
|
||||
with open(sys.argv[1], "r") as f:
|
||||
main(f)
|
|
@ -0,0 +1,43 @@
|
|||
#!/usr/bin/env python3
|
||||
from typing import Iterable
|
||||
|
||||
|
||||
def main(lines: Iterable[str]):
|
||||
ROOT_WD = [""]
|
||||
ROOT="/".join(ROOT_WD)
|
||||
cwd = ROOT_WD
|
||||
dirs = {ROOT: 0}
|
||||
for command in filter(lambda line: len(line) > 0, map(lambda line: line.strip(), lines)):
|
||||
match command.split():
|
||||
case ["$", "cd", "/"]:
|
||||
cwd = ROOT_WD
|
||||
case ["$", "cd", ".."]:
|
||||
if len(cwd) > 1:
|
||||
cwd.pop()
|
||||
case ["$", "cd", rel_path]:
|
||||
cwd.append(rel_path)
|
||||
case ["$", "ls"]:
|
||||
pass
|
||||
case ["dir", rel_path]:
|
||||
dirs["/".join(cwd + [rel_path])] = 0
|
||||
case [dir_sz, _]:
|
||||
for i in range(len(cwd)):
|
||||
dirs["/".join(cwd[:i+1])] += int(dir_sz)
|
||||
case spl:
|
||||
raise RuntimeError(f"Unexpected entry: {spl}")
|
||||
# sorted_dir = sorted(dirs.items(), key=lambda v: v[1])
|
||||
# print(f"directories ({len(sorted_dir)})")
|
||||
# print("\n".join(f"{dir}\t{sz}" for dir, sz in sorted_dir))
|
||||
print("part 1:", sum(dir_sz for dir_sz in dirs.values() if dir_sz <= 100_000))
|
||||
TOTAL=70_000_000
|
||||
NEED=30_000_000
|
||||
DELETE=NEED - (TOTAL - dirs[ROOT])
|
||||
part2 = min(((dir, sz) for dir,sz in dirs.items() if sz >= DELETE), key=lambda v: v[1])
|
||||
print("part 2:", part2)
|
||||
|
||||
if __name__ == "__main__":
|
||||
import sys
|
||||
with open(sys.argv[1], "r") as f:
|
||||
main(f)
|
||||
|
||||
"/".join([""])
|
Loading…
Reference in New Issue