(List (= scope= flags=0 words=[] bindings=[('REPO_ROOT', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --show-toplevel]})]})]) (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub BOOTSTRAP_METHOD]} {[DQ [LIT_CHARS vagrant]]}}) (FunctionDef do_on_node [] (List (= scope= flags=0 words=[] bindings=[('NODE', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('COMMAND', {[DQ [VarSub *]]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "EXECUTING on "][VarSub NODE]]}) (Com {[LIT_CHARS vagrant]} {[LIT_CHARS ssh]} {[VarSub NODE]} {[LIT_CHARS -c]} {[DQ [VarSub COMMAND]]}) ) ) (ElseTrue) (Com {[LIT_OTHER ":"]}) ) (FunctionDef check_for_envvars [] (List (= scope= flags=0 words=[] bindings=[('FAILED_ENVVAR_CHECK', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('REQUIRED_VARS', {[DQ [VarSub @]]})]) (For ENVVAR [{[VarSub REQUIRED_VARS bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]}]) (If (DBracket {B1 UNARY_STRING_z {[VarSub ENVVAR transform_ops=[(!ref)]]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Environment variable "][VarSub ENVVAR][LIT_CHARS " must be set!"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (= scope= flags=0 words=[] bindings=[('FAILED_ENVVAR_CHECK', {[LIT_CHARS 1]})]) ) ) ) (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[VarSub FAILED_ENVVAR_CHECK]} {[LIT_CHARS 0]}}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) (FunctionDef load_configs [] (List (If (DBracket {B1 UNARY_FILE_f {[DQ [VarSub REPO_ROOT][LIT_CHARS /bootstrap/config/bootstrap_config.sh]]}}) (If (DBracket {B! {B1 UNARY_FILE_f {[DQ [VarSub REPO_ROOT][LIT_CHARS /bootstrap/config/bootstrap_config.sh.overrides]]}}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Performing one-time move of bootstrap_config.sh to bootstrap_config.sh.overrides..."]]}) (Com {[LIT_CHARS mv]} {[VarSub REPO_ROOT] [LIT_CHARS /bootstrap/config/bootstrap_config.sh]} {[VarSub REPO_ROOT] [LIT_CHARS /bootstrap/config/bootstrap_config.sh.overrides]}) ) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "ERROR: both bootstrap_config.sh and bootstrap_config.sh.overrides exist!"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Please move all overrides to bootstrap_config.sh.overrides and remove bootstrap_config.sh!"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) (= scope= flags=0 words=[] bindings=[('BOOTSTRAP_CONFIG_DEFAULTS', {[DQ [VarSub REPO_ROOT][LIT_CHARS /bootstrap/config/bootstrap_config.sh.defaults]]})]) (= scope= flags=0 words=[] bindings=[('BOOTSTRAP_CONFIG_OVERRIDES', {[DQ [VarSub REPO_ROOT][LIT_CHARS /bootstrap/config/bootstrap_config.sh.overrides]]})]) (If (DBracket {B! {B1 UNARY_FILE_f {[VarSub BOOTSTRAP_CONFIG_DEFAULTS]}}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Bootstrap configuration defaults are missing! Your repository is corrupt; please restore "][VarSub REPO_ROOT][LIT_CHARS /bootstrap/config/bootstrap_config.sh.defaults.]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS source]} {[VarSub BOOTSTRAP_CONFIG_DEFAULTS]}) (If (DBracket {B1 UNARY_FILE_f {[VarSub BOOTSTRAP_CONFIG_OVERRIDES]}}) (Com {[LIT_CHARS source]} {[VarSub BOOTSTRAP_CONFIG_OVERRIDES]}) ) ) ) )