(List (Com {[LIT_CHARS set]} {[LIT_CHARS -e]}) (Com {[LIT_CHARS .]} {[VarSub REPO_ROOT] [LIT_CHARS /bootstrap/shared/shared_functions.sh]}) (FunctionDef remove_DHCPservers [] (List (= scope= flags=0 words=[] bindings=[('network_name', {[VarSub 1 test_op=VS_TEST_HYPHEN {}]})]) (If (DBracket {B1 UNARY_STRING_z {[DQ [VarSub network_name]]}}) (List (= scope= flags=0 words=[] bindings=[('vms', {[ComSub (Pipeline (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS list]} {[LIT_CHARS vms]}) (Com {[LIT_CHARS sed]} {[SQ ]}) )]})]) (= scope= flags=0 words=[] bindings=[('vm_networks', {[ComSub (Pipeline (For vm [{[VarSub vms]}]) (Pipeline (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS showvminfo]} {[LIT_CHARS --details]} {[LIT_CHARS --machinereadable]} {[VarSub vm]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -i]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]}) ) ) (Com {[LIT_CHARS sort]} {[LIT_CHARS -u]}) )]})]) (= scope= flags=0 words=[] bindings=[('existing_nets_reg_ex', {[ComSub (Com redirects=[(HereWordRedirectNode here_word={[DQ [VarSub vm_networks]]} 0)]{[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]})]})]) (Pipeline (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS list]} {[LIT_CHARS dhcpservers]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -E]} {[DQ [LIT_CHARS "^NetworkName:"][\ LIT_ESCAPED_CHAR "\\s"][LIT_CHARS "+HostInterfaceNetworking"]]}) (Com {[LIT_CHARS awk]} {[SQ ]}) (While (Com {[LIT_CHARS read]} {[LIT_CHARS -r]} {[LIT_CHARS network_name]}) (List (AndOr OP_AND_IF (DBracket {B1 UNARY_STRING_n {[VarSub existing_nets_reg_ex]}}) (AndOr OP_AND_IF (Pipeline! (Com {[LIT_CHARS egrep]} {[LIT_CHARS -q]} {[DQ [VarSub existing_nets_reg_ex]]} < (HereWordRedirectNode here_word={[VarSub network_name]} 0), > ) ) (Com {[LIT_CHARS continue]}) ) ) (Com {[LIT_CHARS remove_DHCPservers]} {[VarSub network_name]}) ) ) ) ) (ElseTrue) (List (AndOr OP_AND_IF (Com {[LIT_CHARS VBoxManage]} {[LIT_CHARS dhcpserver]} {[LIT_CHARS remove]} {[LIT_CHARS --netname]} {[DQ [VarSub network_name]]}) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('return', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('return', {[VarSub ?]})]) ) ) (Com {[LIT_CHARS return]} {[VarSub return]}) ) ) ) ) (FunctionDef create_vagrant_vms [] (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[VarSub REPO_ROOT] [LIT_CHARS /bootstrap/vagrant_scripts]}) (Com {[LIT_CHARS vagrant]} {[LIT_CHARS up]}) ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub BASH_SOURCE bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}})]]} {[DQ [VarSub 0]]}}) (List (Com {[LIT_CHARS remove_DHCPservers]}) (Com {[LIT_CHARS create_vagrant_vms]}) ) ) )