Skip to content

Instantly share code, notes, and snippets.

@nmcb
Last active March 17, 2024 14:56
Show Gist options
  • Save nmcb/1e346d3aaa1bd27b122dc88573fdcee1 to your computer and use it in GitHub Desktop.
Save nmcb/1e346d3aaa1bd27b122dc88573fdcee1 to your computer and use it in GitHub Desktop.
Security Exercise

Security Exercise

Your infrastructure has been hacked. The virtual cluster nodes present in your 2 datacenters running your application and storage containers are breached with malicious malware that randomly deletes files on the nodes. Fortunately the malware is only present in 1 of the datacenters. The fear is that the malware spreads itself between nodes across the cluster and more importantly via the master nodes across the datacenters. You recall that in order to maintain cluster stability across the datacenters you've configured each of the 2 datacenter to contains 3 master nodes to coordinate the communication between the worker nodes within a datacenter, and that each master node in a datacenter communicates with a mirror master node in the other datacenter via a virtual route. You could identify the 3 virtual routes between the master nodes across the datacenters from a virtual route report and disable them, thus prohibiting the malware to spread into the second datacenter. Unfortunately, and with nodes crashing all the time due to the spreading malware, the cluster experiences a master selection in both datacenters every 5 minutes which makes it hard to identify the master nodes in each datacenter. Your goal is to identify the 6 virtual master nodes from the report, 3 in each datacenter - remove the 3 virtual routes between the master nodes across datacenters - and report back the amount of virtual nodes left on each side of the now divided cluster, within the 2 datacenters.

For example in a small cluster, with given virtual route report:

jqt: rhn xhk nvd
rsh: frs pzl lsr
xhk: hfx
cmg: qnr nvd lhk bvb
rhn: xhk bvb hfx
bvb: xhk hfx
pzl: lsr hfx nvd
qnr: nvd
ntq: jqt hfx bvb xhk
nvd: lhk
lsr: lhk
rzs: qnr cmg lsr rsh
frs: qnr lhk lsr

We see all virtual routes between all virtual nodes within the full cluster and across both datacenters, each line representing the virtual routes between a node and some other nodes, for example, if you read one random line in the report:

pzl: lsr hfx nvd

Then this line means that the following virtual routes exist between the virtual nodes pzl, lsr, hfx and nvd as part of the full cluster.

pzl <-> lsr
pzl <-> hfx
pzl <-> nvd

In this example, if you disable the virtual route pzl <-> hfx, the route cmg <-> bvb, and the route jqt <-> nvd, you will divide the cluster into two separate, disconnected groups across the datacenters with:

  • 9 virtual nodes in one datacenter - cmgfrslhklsrnvdpzlqnrrsh, and rzs,
  • and 6 virtual nodes in the other - bvbhfxjqtntqrhn, and xhk.
test-graph

What are the amounts of virtual nodes left in both datacenters after you identified its 6 virtual master nodes, 3 in each datacenter and removed the 3 virtual routes across the datacenters, when using the real report below?

nkv: svc cdq zrx
hkd: nlx qbm dzc
xkh: cvb jhn
gtl: nhn bbv gfj szb xbt hcr
mfc: gfk svv
tjm: ktm nhs
cpn: qbs ngz lqn
qqn: tjf
nvp: flh sdm ckd ndf zhx
vsm: mrl xtd rmn pzp cqp
gnq: fgf jlx kzk mgl bcn
gmh: xhz tjq
mcv: qbm fcn
qbk: scj dlj pxm
pgx: xrx pqr ccj kkr
msv: jrr dlq ptf hrr
qjb: xtg
zfd: kpv jsx
ssj: psr kvs nhs
mcx: pxf dpl knl brd frz
pfz: dch
skg: dvb jzm rvr ctd
dvb: tss
mjc: ptb jds
tdj: cqq xcl
pcx: gvl plj sbr krc
mbq: knj zlg fzc psr
mxl: shp zcs jcv pxk xrt
hft: psb snl mvd
cdf: mgp jrr jvt
bvt: hbq hlb mms dfj
spk: tjv qlj dhs
jvx: fvp rrq jhn
fft: txf
vkd: grc fcp sbv knh hgj
bpz: drz lzl xcr
qdh: ttk xpf xxb xpp sms xqz lgk
gbj: fkr jvr
nhq: zlr jnq
jlz: hfm css ttj
vgl: mxb dbr hxb bqc
zzr: rgf jhn mfb mzz
gzf: fmv pgn vjq szj
tjf: kgh
jnk: gfj
tjb: cmr mvg slj mzt
trj: bnb rfx
ssf: qsm
cpg: jvt
dhg: brf prp jql
cpt: crz xft mvr lfd
ktz: szv rbm fzf xjr
lxh: hbq
tkd: fmg
bmp: xdv xpp jmm
tnl: rdp
qvh: gqt ztv
vgc: dqf jpp kqb
ngz: qdm lqn tmq
zrg: kkr jfk bgj gqt
nvv: zbn bxr csp ccr
jrv: vrz dmf
djn: bbh bgl rlq
vxv: qjb gph
szt: fxk dcb plb
qjs: tcj rvt
fkt: pzp jsb tvn mvr
thr: skt mmt cqd
kqb: kqv
qrl: rvt gkr
mfl: vmp rgm mvg dbg
lrk: gfg hqv cln
vnr: csj tbb mxf
ztv: thm
clp: fhv qbh
phq: jhc cxb
cvb: fkd
ppl: phl nrs pgd rfh kbj
vjb: ptc
svm: ssf nqc zlh mgg
msg: knh tgf fhr
kkt: fgm njq gql mpn
pzv: qsq dgn vkt
mdk: ljg kqv qsf
xpj: gqv vrq mxf
nkl: vnn ctt zdz zvm
nlc: tpk rnb hxm
jtr: css xhp lrk
ssk: gqt mpg
mpt: snz dbr ksp nln gff
fdn: brf
tdv: hds
xqq: kcm
szq: xnq
prq: rdt vbl nsz gpl bhl
gkb: rbt hvb fvp
qls: hxb
fnn: kdb
rbv: klt xrx qjl
vvg: hzc frz cmr
fqf: kqx hxr
kvz: kpn hqn
msn: jvm klt
hvm: scg pfz lbb vnc bfr
hjq: gsl jkk cvb ztv kzk
hmv: css qnb
mjj: tbx sgq
nzc: stq hxr nkp
fqb: qvt bpv
drm: xcc
ddh: lkc ncr vqm
nzr: zjx sjl
kbj: xhj
bgv: hrg
vkj: knq sbb qcf tnl
rkb: fhg tmv jhs
jhd: skm hgj tdm
hvb: mxr nbq ssn
psh: brv mjn
jsl: jjz bzh kgh
sfb: hdh
ljm: jfj vnr hxr sqn
kbh: pmg ndd xgn mxr
kdc: gfg
jcl: vxx rff psz dgn
sbv: xdv
kzr: psz ttg bnr
rqj: phc lrg fmv mjj ftt
djc: lgk knd hcm
xgv: skc czz zkg
jkv: zln hld znx bpm rmn
rct: chv bgx snc bgb
xhq: qzf mmf khc xlp
cgv: hkv pbq mnk
qth: nkp
pqr: dhs
sdc: xhs
rbm: mzm fdt
scf: pgd lbb
ctd: sgb
lbn: bgz bxr hzd jcz
lkc: jgx mdn jmd
tzs: pgn fkr jhs
bfn: jgm
pds: grm lxh cvd
kdp: hzs zvp dqj plt
jpc: dvh fcn ght ffp
ccm: fnr dmg bhb mnq
qsh: sjp
fks: hlj zvm tms
mdf: qbr fmx
dmq: fss xcl rfg
mmn: rfh dds gfk
rcx: sgc qjq
xrt: tsj fzm
grg: mst psz tgf
qpj: znx xql ptt
shp: fft rlj vjx
dnk: snm rnj vgj
khr: mpg
qmz: msn qqt crh kvd
rvg: jxv lhv hbj dgn xdl
cjx: ssf
nbv: nsh jxz dsb tth
qmv: jpd frp svn
mvd: mdj dmg jbv
pnd: hzh mcg xsb
bpn: sch
xgn: jkk
kfj: zcj xpp
slg: rcx zsj jkt dsv
fcj: ddg jvx vfd dzc
rjk: jfj mdn mps
hjt: mmf bzh drm
xhz: tjg kfc fns
mjz: xqs rdt zln fgh
gfh: zbn
hkb: ltc dhz scq ght
gtm: vnq rtk gnz sjp qcf hcm
phg: nhq fmv
nzp: gpf cvd
lrg: kzn
xnz: tbm jgc
sbb: bdh hhk
lng: jnt vxl hll
mvr: bnr
fqp: plb ptb
rvr: mkm cvv jzz
lrq: xtg pzm
ccc: npp jvt
zdh: dhp xmt rgk
xsm: bqk csz nqn dhs
mgf: jfl hzc sfz knq gfq
dmm: bmp jxs
vbg: lpp cxb vcq pnz hzh
nzk: jrp
rsg: zpr gfg
shj: cmq snm
vgj: bnf kpb khc
fhv: nkp
jpd: gzk
nnh: qzj npp hgd
kfc: zhz fns
bpv: lvr fzc
jdn: thr dkk xhf scq
jtp: flr fdh klv gmh
hrj: nvz qkg ddc
mjn: phg
jjq: rmc ksl qrf
bgj: xch bhm zkd
lcs: hrg fss psh rrc
jnt: kkl
kxn: xdv kns kvh bgv
dsb: txz vjb
zbp: qvb rrq zqj fqf
ssc: vgn dcb csj
cfm: tmr bpp cmr
gjn: klv bpg xqq djx
spt: qcr bcr mzn dvb bgq
knk: mlj ktm dpp pmt
dtd: shj pdq nvb zlc
dhs: plb
sfk: tvp zvp bht
ksn: nsz chd bzt ccq
jcz: vrz rlc lmt kcd fqp
rhb: tbb nlx nkg
kgp: hvl fqf bnb
xcb: bdh pzk bbh
pbs: lgk kgh jrp
nvj: xhg qdz nlh zlb
qbr: vgn
xvs: jvm sqn
kth: pzt pkn dqp dnz
mfb: hvz zbq
fkm: hqx hcr lkc
kkr: xkj
sdm: kfj pxm jgq
xhp: kgh
ttc: dbd
dds: cmq
hqm: clj
zdq: ctn ctt mrl ncz
snq: dbd xql qvt zzb
jfr: lfx hqm tjq
jbg: cgd zjx kkz ggc
crh: tkd
rnh: ttk
lbh: hgd czz
ckl: tdd fgf khr
hpk: rtt
cld: cqd
fqg: pxl csp glh vjb
knq: pzs
xtg: drz
bcm: fnn hjd sks mjr
rlc: dsv
nmf: vck hqv jsb
hvz: ptf ngv
ntx: nsh hzd slx djj
ctk: dpl bgq
sjh: jtm cgv qvh
lnh: mmf cqp
fcn: jnt xkh rrq
mnq: qzj
djz: vfd jgz pnd glx pzm fgf
khl: dgr hbx
nsj: fkj jsm
mzf: hnh gsn cln
kvd: gfh nrc xgn
ksp: mdj dcb
pkn: tdj jqx knq
xsg: sgv crg qbs mjj
plt: jrk
vrp: shq qth psb
mqm: xxb spm hmv
lxb: dfd slj sfm
dpv: cvd hmc jzm
tts: hkt
pfj: crg nrs stv jrg
blk: tvq
jkp: fqp rmr klt mrc
bcr: mvs
rgm: qct kvj frz cff
dbj: ltx pdq mlm
gbp: gxm ccr fvn rrn
fxk: bpn bvr jtm
jzz: llj
zrn: vnr shq
npp: sks
stb: nzk ngm
nzm: qlh vxl kqv rbm
vnl: hvl dqv bdp xkj
ltc: bxr rhl vmg
trx: gfh
dvz: hdr svh rbm bbs
jdx: fkd
fdh: hlh jgr
hrz: pzp vjq bfn
glx: jvt mnq nnp
hgk: dgn vjh
xjk: snz mkv fdn zkg
qcl: ljn cqd bbv
nmd: fmg
flq: glf nhs chv fdf
lhq: llj mxx vjq ncz kdc
bnm: xpj bdb dsn bsl
lkq: xrx
cgh: cld fhx rmr clp
cbz: xkm qth pkt
dcm: jds lth
pld: fjp pbs dpz
lhf: znx zlb mqq qjs
pnz: mps vrq
rxp: klt xkm
lzb: drm zcx lbg gsn
bck: jrt lxh vhf
pvm: sks xkj jdx
zqm: jmx csk mjj pbs
bhl: xhs
dqv: gps
zcx: xjd cpj knj
vxl: rhl qvb
rvt: srk xmq sfz
sfh: hlj jsb lzz ndf zlh
zcv: tlc dmt dnv khr
jgz: fcn fxc
hzc: jqx
zvh: grz gbj bdd
pfv: jpp vrz
jxs: qzv
jvq: djr ccc fzd qls
bdd: hbq phc mgg
qzv: bdh
vvt: shj pzs grm
cdq: rxg rnq
nsr: llv snz gzj pkt
mpk: tzs fzc xqz
kpm: mld ccd ldn ncm qnv
flv: zhm qrf ckd
xpf: bhl
brx: mrd ljf fjd nzt bxd
pxq: tdb mgq bbd qlh
fnl: dlj kvj nzr zrx
pjk: ddc jds png lzc
sqt: bsn cld svl gxs
rrc: zcj
bpb: qjj chs mst pbs
sjv: dxj
tmt: sfb pnz hxm
mdn: kcm
mvg: mzn pld
gdz: crb
rgk: kpm hmx jrv bgf qbh
bvr: crb xkr nkg
vjx: thm
xfd: cfp cqd
ckv: tmq
tjv: gfj hll
bcf: txb pcv pds tvn
vll: lbt bhz mjz hsf
mzt: crz vjh
dvh: xnq
gxm: fgv krd qhd
nzt: bpg lkq
mrd: xhc
dxf: brf sdg nsh jgx
klv: scq xkm ncx
nfb: vxx xfc fgm flv
jmm: tvn
lvm: xqz rsn vhk dnk
dsn: fxc
rmc: tbx pzp fnx bgv
gcx: cdf dxj cfp
vtf: qls xhc mtv
tms: lmf vck
pzm: nkg mps xnq
fhm: dsn crh gnx dzm szb fzd gpc
dnv: bbv
rzl: zrc pxf
qzf: ffr zvp
blg: tbb htb jfj
nxx: gpl xlp zpr sgb
fsr: nbq qnj pkj
gns: psr
fzd: mdk kzh
vxd: hnp zdm mkm lxh
ndr: rmh
zcf: lgr mxr
nkf: trj shq rrn tsj
dgn: jxv
ppd: gpt kgd hrg mgg
chs: nzp tfm
sgg: xkh
kpv: bzt chd
cmt: ccq gsh rfh
rgf: fgv stq cbf
trc: xgl xtd xpq lhq
jfg: nrs dds
tdn: bhp jxh
ncm: hgd tth
ptf: brf
xtd: xdl kxt
xpq: jmm tcj jrk rhp
dcb: mdm
dlc: hxb szq gvl fhv
vcc: ctk xdv bnq qnb
ckh: nkv njq dfk shs hjg
fqd: cmb csm bht vcc
xsb: xhz xqt
fvn: hft xqq
jvr: chd drm cln
vcq: hjv cdf bdb
hds: jgc
ptt: hhq xcc xnz rff
qdn: ljf zgl
zqs: rmh rhf llj
gvl: psb
stv: bnn ttk xql
pxm: tbx
sgb: njf
ljk: sjp kpb zpn
vfs: nhn jjs djr hvl
ptc: bxr vxv
knj: dbn
jpr: hsf hsx sxm blk
dmf: vtq
scj: rnh nhs
khd: jfk prf fqg qjq
jjs: qbr
rnc: qdn gxr dmf kkl mdj
bqk: bhb kqv bsl
jgq: qnb
vnc: vtb hlb
sqn: hqx
cpf: hnd
vdt: hkv
xjr: blc rhl qjk
fgh: jrk scj spm
lpt: nln nkg rbv
pdc: vns xqs
pjj: hpz hbq
zlb: hqv xdl
plj: qvm nkz skt
tfd: ljn qsf
bns: txf qgr
zsj: vgc tmm kfc
srm: vtq fhv pxl jfj
snz: tth
mkv: kfb fft mtv nnh
flh: jfl bnn qqn
vxt: dhz rrn pbt qgx
fkp: jxz sgg ksh kqx hjv
dsv: bsx gdp
ktm: tdn slp
dzm: tdd
zqj: hvl djj tkd gbx
jrt: qzv pdq
gbm: nzp bcj vhk bzh
hpl: plc nhn klt ggx
gfk: ntd cql sms zrc
vmg: fhx
nhd: fks mzt
tbm: kkz
nbc: nmd jql jpd ncr dcm
dpj: dph ptf qbh lzc csp
lkz: kpn pgk hsg lrn
kpd: vvq zpr spt jpr
nqp: gdp fzm jhc
dkk: plc gmh vsz
vfd: bmg ppb
tth: mdm
sbl: skc gsl kcm
bqc: tgx
ljl: phl gpt hnh qjj
slp: nrs
nkj: lfx vgn tnk
gcz: pxl nkp skc zcc
tvq: pdc
gtr: qsf vvm jpc
glf: jjz rtt dfj bgb
mqq: fzc xhs
tjn: frp bnb nhn tjq
tgh: mjn jrg lnh pzl vlg
rlj: sgc
vcl: ldz bpm
vsz: hkt
vbc: sks vkr fnn nqn
mrc: ccs
qnj: pkj hdl dmf
mxf: rbt npp
jcv: qjk bcn
ksj: prp xgn clp
gzk: ldn
grz: zrx
tgp: lbb scv jhs lgk
gzj: zbq lgr htb
fzm: nkp
vds: njq ttg vll lsx
rcr: pzk tdv
qnv: hkt dmg fgs
bdg: bmg hrj hsb sgg
mxr: gqv dph
plx: sjv bbd kmc ksj qvb
zvf: vns mks
gzv: tbm
jlx: hvx dqv xkr bdp
xcr: mrd
lmt: thm xpj pqr
cps: sjv ggx vzx brt
fzg: ctn gsg qct kpt
txz: ssk jdj
jrh: bhs fxc gph hqn
hgd: gfj
dxp: bcr nlh
sxm: dbj zrl psz
gmj: gzk xcr
ldt: mdf qgr qth pzm
kjq: slp tjr dmq cfm smj kpb pgn
xbn: lkq bnk hxb sjv
svh: frp
kzq: bpm ndn
krs: bbm jtr qdm pxm
fvp: mnk kcd
ffl: tss ggc srk
jql: lzl spz gqt
hjg: hsv nmf gzf pzt
gbc: gbj pjj dbg hxr cmt
crj: ljk mbq msb fmc njq gpf
kdb: szv
hdl: mrd
slq: dng
dfd: hdz chd
bxd: mjg rpv
zrl: qsh nmf
dzq: rff jxh sgb xhj klp
mxx: gpf ctt
qct: hbx zcj
czz: bmm
hsc: skm sfb dch flh
prp: mnq hmk kzg
tnn: mjn cdq xhp mrl
tss: njf xft
pdv: tpl msg rvq cmr pqf knj smz tdv
hcm: jmx rhp ctn
gxb: gps ptf hdl
xkz: mvv kzg brf vgn
gjz: tjf dbd
qbs: bgv mhg
bgf: dnq tsj
mxn: kfb zgt gfh nkg
xtj: vjh sbb hrm
tnj: dmt fcj prx mrc
bnf: cmq fhr
dnx: ccg
jck: spm ngz fjp
fgm: jrp ndr
bzs: rpv hrc zkd hjq blc
kns: brv
pgp: hzh djx cgv ftk
sdg: zbq hkt pkj
mzz: bpz
hsb: tjq
zpr: cjx jmx rrr
lhv: kvh rtk sjz
vkt: bzh bpm
ftt: csm
lgm: krc dlk hlh zdh gjj
rmn: gkr
hxm: rfm
ztf: tjm mxx jcl dkg
rsn: rnb css qtk skm
jhn: hqx
vnm: qnd mvv bmj
zkd: bpn vmg
ztr: plt mzn grz xfk shb
prc: kcd mrd qff lgc
prr: mst gfk kzq dpz
mxd: mbk mgl vgf hqm
rzd: jxh cjd sfb
mxb: tjv sbl bdb
rdn: hrz chv cql tmt
fcb: vrq phq qkg knf bkg pfv prp
jnm: fxc
slf: dnk fjp kxt mjn
nrg: prf gxb ncx vpd
mvv: gsn
dln: hrc csp dqv xkj
bzv: fzc tdm
btj: jds jmd hjv djr
bhm: jsk rfx
lth: vqm rmr nsj
jvv: vjx tmm qbr pkj
pgd: qnd gkr
mjb: jtm jbv nln gdz
qvt: jgq
bbm: rff jhd
hqs: mhg sfh sqf hds
rnl: jfg rkb bhp zlb vhf
qrf: hnp
njr: vvg phl nrv dpz
dvk: tlc djj bmg glh
ztj: nbq blg brs bhm xnl
jpg: zcf rbt rfj brb
cqq: xgl tmq vfx
bts: bdh tdv
bbd: msn gzk hsg kzk
nzf: csk cqp
klm: tnk fdn bnk ssn
cbf: tdd jrv lgr jdx
slt: cfb vfx mlm fjb dch
npt: kxs bbm bts nvb
htb: qzj clp
rtk: rdp
cpj: vtj lnh
jdb: tjf mfq xtr jgq
lpp: xgn kqb dmg
hnh: gsh
qsf: jmd
qmb: cgf vcx bgf trx spz spk
gfq: sms
dqm: tgx nzt rlj png
fjb: kpv lsx
tbz: bgl
csm: rgv
bnb: djj
xmq: sqf fjs msb
fhg: gjz rgv
qjq: ncm
qdz: bcj hjt shb tdj mvv
jzm: kjk
pml: ttc ctk jqx mqq
mhk: xbt gkd
bsn: qhd bpr
gps: jhc
qcv: jgz gcz kvz
ntd: srk tdm bhp
dzc: jgr jjs vsz
xxd: smz qvt pdv
nbq: bdb xkm
pcc: kdb tnk vxl
xfk: kns pzv cmr
hct: bdp qvm bnm djx
mnk: zhz
bmj: rnq tfm lxh
vqc: hhk fhr
bgz: jsk
mdl: djc dmm gsg sbv sgq
ljg: qff qdn
pxg: fss bgl cjr tbz
fvb: jdj mdj dnv ffp kcd
xfc: pjj cff jlt
hsv: rsc jsb
hrc: qvh bsx
pzt: zqc hbn
gpc: tbb
dnc: dph ccs qjl xjq
ssh: gdp vjx dqf drz
grm: ncc zrx jfl
vvm: tdd fhx ckl mpt
nkq: jcs hkd vxn pnd qvm clj
jpp: mps hcr
nrk: vrq bgz tts
bbj: stb knj vbl rfg
knd: kvh psz
spp: rjr scq bxd vxn jlx
cch: nhd rvj cqb
pbq: pqr vjb hrr
czl: tfd fnb ccg lgc qvb
lfx: bgz
sch: khr
gpl: slq
vzx: brx hzd mjc
vdm: npz csk cnn grd xtj
tpl: gsn jnq
ttk: ngm
bhz: zjx hld
bbs: ksp bgm
jrg: cjr fkr hpk
kpt: pqf zvf rfm
ksl: rsc sms mks hnp
php: ddg pkt zbn czz
gck: zhz snf mjg bns
tvp: mzn fnx gbm
tqh: ppz zqs txb vtb
zhm: hds nhq rsc
lmc: ksh pbt vsr gnx
mmt: qth hqn
cgf: jsk cpf
lms: xhz nqp
qdr: hrc krd tdx gqv
sgq: zlh
vhf: xcc cdq
qff: jkt
bjr: ght ffc tkd
dkd: fgv xkj fgb txf bgm dnx
sfm: bdh
jjh: zpr hbn tjh hpz
bfr: dkg pfz zlg
xdz: rnj tnn fcp
pmt: rrr xql rmn
jhz: smd dch
ppb: qhk pcc bsx hkv jsm kkx bnk xsb
jfs: rvj qnb
ncz: gpf
mbs: tfm pbz pqf ncz
lrn: xct xkr crn
hbn: tvq
cvp: nbj qff bpg lzl
gnx: bdb mdm
hbg: csm tvs knh
fsc: ccc rrj cpg
vck: njf
khj: sjv lgr vdt
hnz: jsl fmc lqn cpn
rcm: dfd pxf tdn fnx
mgq: lkc dph dbr
bld: fhm fxk fsr jdj
hzf: sgc rmr ksh bpn
txg: fcp rzd slj qrl jml
hbx: jmx
spz: kpn
kgm: qjb mbk qjl
pzk: chv
nqs: dds qzf bnq vxx nzk xhg dxp
xtf: ggc njf qzf vlg nsz
hxd: xfd cqd gmg ght
vgf: vtq vjx vdt
gff: zhz
dlj: tnl
pkh: qsm rtr
brb: pgg fgf cxb dnc
zrc: cvv llj ccq
jbx: xmg kxs bfn pqf zbl hlj fhg zcj
zcs: prf ccg
cmb: zvh hgk sfm
bhs: fdn kvz
qhk: brt mpg ssn
zld: trx cld jsm rcx fzd
bbh: zlr
sqs: tgx fmg nrk tjn kkr
jhs: ldz
hsf: tmv
vkr: bbv
bln: ccj rfj pgg
lzc: xrt bmg
zlc: brd ftt smz ttj gfg bgl prq
kkl: jxz
tql: cql rnh rlq mdq
mlm: gzv
qcr: hds cjr
cqb: vqc hdh
skm: ccq kpb
fst: ccj hqm rxp xct qpt
dfk: cql phn dpv tgl
szb: cqd mjg
fgv: hqn shq
znx: rch
djx: jpd
ddc: cqd cpf kkl gps
vtb: qdm
frd: rfh bgv qsh rnb ldz
xtr: jfs trp vnc
cdj: bpn tjg bxr
jcp: slp hjg chs jlz
hrr: gfr ljg tdx
rgn: mzf fjb lxh qct ctd
bpp: vtb bdk nhs
cgd: tcj vmt
vtj: tcj
ccd: bhb pxk jhc nnh
zqc: hrm xgl sfm
skc: ptb
gfr: zbn rfx
vlq: sqf mmn dft bgq
thj: jdx qlh rmr kgm
bpr: vjx ncx
ltx: mhg jgm rnj
jfh: kzq dxp xmq mpk lbt
fjn: rrj dnv xcr
gpt: qdm
phc: hrg
vxx: mst
brd: jgc
trd: hzc nhs vbk xlt ftt
bmm: mld rfj
kvj: xpp
bht: ggc
bdk: pld rcr dbd bgx
fjd: mcg xhc
nvb: blk lbb qsh
vsr: dvh prc
gsh: zrx lzz
hsr: fsc kzh jbv snz
kln: jzz zfd gbj pbz pfz
slx: dzc fhb vsr bkr nvx
bgm: mrd xgh
tkv: lms hzd kgp ztv
lbg: dft cfb hhq
fcp: rxg
zlh: shb
lvl: mzz mdn kzk bjr
rzc: pgk nbj lpp dln jmd
zhx: tbz hxm jvr hms
pxf: rdp
gfp: rmz jxs xhp
qsq: rch qjj qzv
cjd: jnq nhd tzg
kfz: kfc sch knf qcv dvh bpg
xnm: zdz hfm gns lvr
ddr: gqv ssk pkt zcs
dnt: chv rrc vnn
zxv: mmt vcx czc rlc
vpp: hrc cvb pnz nlx
ltg: qjk glh dxj xst nkj
hhq: gpt rgv
ddm: hbn xpf kpb jrt
kjp: jxh ttj
dfn: nhs jhz bzv
cfb: gzv phc sgv ckv
pbz: hrm jfg
kzj: kdb gkd nbj jnm
vmp: dbn ndn
gnz: psr rvj msb rtt
xjx: rsl jbv gtr vdt fdh
kgh: rmz
rhp: qsm grz
ndf: tbm crz
krc: hcr
jml: qcf hjl
pmg: xhf nlx qth
cjv: ptf qzd cgv bns bbs
vmt: svc zvm rnb
szv: gps
svv: cqp hpk
rfm: zpn zjn
gvm: sjz mhg scf bzv
csj: qgr
png: fzm
plc: rxp svn
qlh: jnt
nbj: bpz
xhf: xct
sbr: gpc qjk rfx rjk
ksx: mgz mpg pnz
hxp: tvs rnq mms dbd
lzz: ngm
vpd: qvh qsf mld
nqn: hmx vtf szq
gxs: xqt crh
qtk: zrc khl xpf xjd
fcf: hrg pzs qrf rmz
xqz: scv
mkm: djn
hbj: jfl tvn
dqb: fqd csk fnx qdz
xst: qdn php
fdf: hhk xlp szj
qxv: ndd lpt prl rbt gmg jkt
cgr: gff szq pqr cnd
vvq: jsn rdt
mjr: tfd hsb vrz gkb
mpn: nzr
nrc: gfz lbh hxr fqf txz
jkr: glh dlk
cxf: rxg zlr zvm
jrs: jnm svh ngg fgs
vsv: blk dbj jsn kkz
drn: tnl zjn scf jsl
pdq: ncc
rvm: knd hlj sms vtj
xft: cqp
grd: xdl dgr vhk
zdm: lrg bfn dng
pss: zcs kvz hkt hjd
xcc: sdc
xpr: jrr ffp bqk
pqf: gzv
hdr: mkv kzk ccr
rrn: mgz
txb: hmv chv
lhk: fjp vjh cmq vgj
pgg: jxz tjq fnn
kds: mvv bzh sfh pqf
gsl: crb zgl
qzh: dmg ddg mpz krc
hpb: lzl lkq hjd ddh xvs dbr
zzz: qjb tdb qcl rrj
hjl: rff sfm
zhv: hkb qlj thm gxs
ttg: jgc gpl fqb
pjp: svh fjd nqp jnm
qqk: fkm ljn tts
xhg: ngm qnb phg
znn: bmm clj tlc dhp
vxg: vsz vsr snl ngv lth sch qbm
hms: gsg jnq ctt
hvg: hnh xql zrl tdj
bzb: fnr gdz
ggq: jvm dnv rhl
kbm: flr gdz hrj bzb
xjq: gff ztv
htj: krd qnv xkr blc
fdt: hdr ffk ffp lms
tdb: qvh khj
fkr: xhs
bkr: ccr fhv nsh jtm
zgt: jdj rhb cld
tmr: cln crz bgq
zjb: ncx txz qzj bsl
lsn: mzz qjl fxc rlc
vpq: jbx rlq psr vvq
jqp: pld brd stb jjq
xbt: hqm
flr: xtg ndd ccs
xmt: clj lgc kkr fhx
smj: xlp sfb
dgr: qqj
qzd: brt tdx glh
bgb: hnz nzf
hmx: dzm mhk
kmb: qjj hbj gfq nzf
xtc: ljf ccc gmj gfh
fkj: vmg dxj
hzd: kgm vkr
nsz: pfz
vnn: xhp sfz
mmf: jgm
ptd: bpv tmv vkt mfc
hrm: xlp ctn qqn
zjx: xgl xcc
tpk: vhk
mdq: lxb bbh cxf bzh
kgj: ctk zhf xqs dbg
vnq: cjx vnm bnf
klk: ncc ckd smj mpn
dlq: tkd gpc jql
mgl: sjs
zcj: bbh
bgq: hdz
hzs: rtk flh
qqt: dkk xjq lpk
bzt: jsx cpj tms
zch: dpz spm mbs phl
hmk: plb vqm xch jkt
kkx: klt xqq szv
tgd: sbv kzq pgd mrl cpt
nlh: cvd zrc pdc
npz: bmj bht qcf
jqx: dng
kcm: klt
qbm: tnk
brs: svl szt bhs
gtt: ngz rhf zlh cch
jgr: cqd
dbg: ndr spm
mjg: fhb
zbl: dgn msb slq
bkg: khr ncr fmx
dgh: vjq bck scg pkh dnt srk kvj jqx hgh
tps: cpg vjx sjs
zrz: cvd cqq tpk hrg
cff: xcl slj
knl: flv xcb mgg
zzb: fmv jck rpp bhz
fzf: ccc trx nln
tmm: pbt hll
nvz: fdn qhd fgc phq jsk
trp: bcj jqx lsx
fnb: kqb bnk rjk mcv
ggx: hdl
gkt: rsc brv rtt cqb
kjk: rdt mvs hdz
qkg: spz
zlg: tdm
cfp: gxr xvs
dkg: hjl gbj rtr
knv: xch dnx xnq rbm
knf: bsl
mcg: mpg xnq
jqc: chv bnr xhj vqc
nvx: ssc fnr fkd
rrq: fkd
lsx: mfq smz
jfk: zrn hpl mhk pfv knf znn
xtp: ldz nlc grg
jsn: vns
ddp: qkg nhn cpf pkj qqt
pkz: rgm zhx fjp dlj hgj
gdd: kmc xpr ngv hjv
mzm: vqm fxc
hmc: zjn dfd fzc
knh: vjh tvq
shs: shj mvv
pkf: sjz rvj mks hsv
vrz: ngv
hqf: tbm mms zqc mjj
ndn: hdh rtr
gph: ncr zbq
qnd: svc tjf
prl: ptc nmd xrx
vbl: ncc hnh khl
snf: ksh tjq mbk
scv: vck mlm
rsl: jcv jnk
xrx: blc
prf: ncr
xmp: fnx tmq psh zpn xxb
dqf: kmc pxk
ndd: bcn
snl: gfr cdj tjg
qlj: sks qpt
pcv: gns zjn
rhl: fmx
pzl: bzh fhr
dft: rgv lmf
lzp: rhb tbb ljn pqr
stq: jdj plb
dfj: lbt bpm
skt: dcm rpv
lfd: lzz qcr lnh fcp hnp jzm mhg snm
jsm: fns
lfj: ztf jfs rnh shb szj
nnn: tsj cqf nmd bzb
hld: ssf
ccj: fns crn mbk
dnz: fqb kbj jgm
fgc: ggx lgr
hvx: vxv hsb hvz fvp
tlc: mrc kzh
sck: kvh kns jjz
rpp: rfm mjn ttc fjs
xcn: bgl qcr vmp dpl xdz
xmg: tdj rsg sjz
lbc: kmc kkr jkr pgk
hgh: sgq frz
hpz: pzs jgq
llv: spz lbh fnr bxr
tcq: ckv xhj zvp
ttb: qdh dpl kjp sjp
qgx: fmg bpr frp vcx
prx: ksx bnb rlj sgg
scg: nzk kzn
sqf: jrk
ddg: dnq
xnl: nzc bkr rsl drz
jkk: jnk cqf
bhp: jmx
ljh: snc gvm dfn rhf
crl: qqn sfz dmm brv ctd hzs
ptk: fkr kbj vvt cjx
dsd: hjd gxr kqx kcm
sgf: csj sjh kqx dhg bgj zzz
qhd: ncx
cnn: xtp tzs bnr
pgn: tbx
crg: jzz bnr
mlv: hlh lgc
ghg: tps gcx rxp drz
zln: lvr hfm
hlb: vfx bts
dlk: cpg fft
mdm: gqv
qvm: cxb
fgb: mjc dnv tnk
xgh: jnk plb
sjl: hfm tzg rdp jml
chv: jjz
svc: bhl
cqp: mfq
czc: jds
dpd: vcl xtr kfj hpk
zdz: pkh zlg
lhh: bdd gfp rrc tjm
dpk: svl jgx bln bsn krc
fgr: bcj jrk dgr dqp qzv
jsx: kzn mks
hzh: vrp tts
dqj: dqp rtr kkz mfc
sfd: mnq hkv dmg ggx
tjr: gkr rlq kxt
tdx: jvm
ppz: nvb dgn bnq
rsz: bnq sdc nsz kdc zpr xft
gbx: ldn sqn pxk
rjm: knh jxs qbk jfg
sjs: xqq jgr fjn jfr
kxs: vcl nmf xcc
djr: ncr qls
cvv: hhk tfm
vkx: plt cfb tcj shs kvj rnh ttg
xct: lfx
ffj: nqc qrl hds xhj
kzg: bqc pgk
mgp: jgx nkp
fmc: bdh gsg
ttj: djn kvh
ftk: dsn hll
zvp: vlg mks
zkn: fhb vmg qjq mxr czc
mtv: cqf mld
tsj: dnq
tvs: fjs mqq
kvs: snm hgk vtj
grc: kzr gfq ttc
rgv: tcj
mpg: tgx
smd: xqs jnq
dvj: fdt nsj jpd bnb
csl: lrg qqj fgm lbt
bnn: xcl dng
qbp: rrr lvr jsn sfz
hsg: krd zrn
tzg: dbn tmv rnq
xhc: pxl
vxn: bcn tth gkb bsx
dmt: lzl xgh crb
rjr: vcx xch cqf scq
krl: nzc mgz czc hnd zcf
ngg: qqk mlv xhf
cql: rgv
tgg: hgh xxd ckd tjh cjr
jgf: tpk szj bnf bgs rzl
klp: gjz
zhf: xmq jrp zfd tzg rfg
zgl: ldn gkd hqm
rvq: dkg vqc qsq
tgf: xnz hqv
pbt: hqx
jxq: dvj rrj dsb nqn
zkg: tjq mzm
ncc: jxh
nrv: khc svv pzl
psz: hdz
hvs: qpj cgd vvq kjp dvb
ffr: gns hgj dpp
pcb: vns grg gfq mqm
bvx: jgq mvr qjs tpl
lqn: mfq
svn: gkd
rfg: qbs
xlt: jzz sgq dpp
gql: zpn zvf hbj
zcc: pxl pkj rfj
gfz: xbt
ccs: fhv jpd dzm
phn: jhz pzk hdh
ffb: qpj ffl bdh rcr
bks: rmh qct bfn sck
mlj: rgv hld kzn
fhb: hqx
hcj: cps gvl mgl sjv ssn
vjh: rnj
hsx: jgq hbg jxv zlr
nnd: gfz mgp lrq trj dmt
qfc: mdf xfd jpp bjr
sgv: pdc spm
nxr: bmm png fvn rcl
gdp: dhz klt
qbh: bhb
qkl: vlg xxb lgk
qcf: tbm
tjh: xdl slq
ffk: hlh dsv bdp ggq
hnd: jrr gvl
xmb: hkb jkr cgf ftk
mpz: mgz qmv fkj
lmf: kvh sdc
ffc: kfc lng
rhf: rrr
rch: svc grm
bgx: tcq jmm ndr
tzf: mcv kvz xst glh
nkz: sgc svn ssn
gjj: cdf qqk pxl brt
cnd: gmj tzf kpn cbz
xnc: hhq sck smd zzb kdc
jjb: rsg rnb hpk rmh zdm
mvs: kxt qsm hdz
ccg: mfb
dhp: ffp zhz
xzr: qqj tjh fjs rzl
gmg: ptb ztv
mms: nzr
vbk: vtj zrx mkm
trr: hrj dnx flr jds
fgs: kcm txf
lpk: dhz mlv xnq
jlt: qdm sfk lvr
kfb: rrj ksh
xqt: mnk mfb
tgl: hbn pmt cvv
dqp: rxg
pcd: jsn ckv jgm klp
scr: hbx klp dbj hsf nqc
srg: fgc pvm qjb svl
xjd: vlg qqj
kgd: bzh qqj
vjd: ssf bcr dpp qkl
fss: rmz
jcs: pgk gfz ljf
csz: xfd bqc vkr
crn: fmx rrq
nnp: tjg kzh vtq
snc: zqs mmn
bgs: jxv rhf pcv
tdr: nzr vfx kgd nqc
qpt: lrq cqf
rcl: rpv qgr xgv ffc fvp
bdt: mpn tbz ssj qzf
zct: ptb dnq jjs djr jfk
psb: gxr
khc: pzp xdv dbn

Good luck!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment