(CommandList children: [ (C {(set)} {(-o)} {(errexit)}) (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_ROOT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (AndOr ops: [Op_DAmp] children: [ (C {(cd)} { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})] ) left_token: <Left_CommandSub '$('> spids: [128 136] ) (/..) } ) (C {(pwd)}) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [125 142] ) } spids: [124] ) ] spids: [124] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBERNETES_RELEASE_URL) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name KUBERNETES_RELEASE_URL> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {('https:') (Lit_Slash /) (Lit_Slash /) (dl.k8s.io)} ) spids: [147 154] ) ) } spids: [145] ) ] spids: [145] ) (FuncDef name: detect_kube_release body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name KUBE_VERSION> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [174 177] ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [16777215 183] ) ] spids: [16777215 194] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolUnary op_id: BoolUnary_e child: {(DQ (${ VSub_Name KUBE_ROOT) (/version))} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ("Can't determine Kubernetes release."))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[225])] ) (SimpleCommand words: [ {(echo)} { (DQ (${ VSub_Name BASH_SOURCE) (' should only be run from a prebuilt Kubernetes release.') ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[238])] ) (SimpleCommand words: [{(echo)} {(DQ ('Did you mean to use get-kube.sh instead?'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[248])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 216] ) ] spids: [16777215 257] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_VERSION) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {(DQ (${ VSub_Name KUBE_ROOT) (/version))})] ) left_token: <Left_CommandSub '$('> spids: [262 271] ) } spids: [261] ) ] spids: [261] ) ] spids: [164] ) spids: [158 163] ) (FuncDef name: detect_client_info body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:kernel) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(uname)} {(-s)})]) left_token: <Left_CommandSub '$('> spids: [288 292] ) } spids: [287] ) ] spids: [285] ) (Case to_match: {(DQ (${ VSub_Name kernel))} arms: [ (case_arm pat_list: [{(Darwin)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLIENT_PLATFORM) op: Equal rhs: {(DQ (darwin))} spids: [310] ) ] spids: [310] ) ] spids: [306 307 316 16777215] ) (case_arm pat_list: [{(Linux)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLIENT_PLATFORM) op: Equal rhs: {(DQ (linux))} spids: [323] ) ] spids: [323] ) ] spids: [319 320 329 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [ {(echo)} {(DQ ('Unknown, unsupported platform: ') (${ VSub_Name kernel) (.))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[346])] ) (SimpleCommand words: [{(echo)} {(DQ ('Supported platforms: Linux, Darwin.'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[356])] ) (SimpleCommand words: [{(echo)} {(DQ ('Bailing out.'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[366])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)}) ] spids: [332 333 16777215 375] ) ] spids: [295 303 375] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:machine) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(uname)} {(-m)})]) left_token: <Left_CommandSub '$('> spids: [390 394] ) } spids: [389] ) ] spids: [387] ) (Case to_match: {(DQ (${ VSub_Name machine))} arms: [ (case_arm pat_list: [ {(x86_64) (Lit_Other '*')} {(i) (Lit_Other '?') (86_64) (Lit_Other '*')} {(amd64) (Lit_Other '*')} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLIENT_ARCH) op: Equal rhs: {(DQ (amd64))} spids: [421] ) ] spids: [421] ) ] spids: [408 418 427 16777215] ) (case_arm pat_list: [{(aarch64) (Lit_Other '*')} {(arm64) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLIENT_ARCH) op: Equal rhs: {(DQ (arm64))} spids: [438] ) ] spids: [438] ) ] spids: [430 435 444 16777215] ) (case_arm pat_list: [{(arm) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLIENT_ARCH) op: Equal rhs: {(DQ (arm))} spids: [452] ) ] spids: [452] ) ] spids: [447 449 458 16777215] ) (case_arm pat_list: [{(i) (Lit_Other '?') (86) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLIENT_ARCH) op: Equal rhs: {(DQ (386))} spids: [468] ) ] spids: [468] ) ] spids: [461 465 474 16777215] ) (case_arm pat_list: [{(s390x) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLIENT_ARCH) op: Equal rhs: {(DQ (s390x))} spids: [482] ) ] spids: [482] ) ] spids: [477 479 488 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [ {(echo)} {(DQ ('Unknown, unsupported architecture (') (${ VSub_Name machine) (').'))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[506])] ) (SimpleCommand words: [ {(echo)} {(DQ ('Supported architectures x86_64, i686, arm, arm64, s390x.'))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[516])] ) (SimpleCommand words: [{(echo)} {(DQ ('Bailing out.'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[526])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(3)}) ] spids: [492 493 535 16777215] ) ] spids: [397 405 538] ) ] spids: [282] ) spids: [276 281] ) (FuncDef name: md5sum_file body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(which)} {(md5)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [558] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [561] ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(md5)} {(-q)} {(DQ ($ VSub_Number '$1'))})] spids: [16777215 565] ) ] else_action: [ (Pipeline children: [ (C {(md5sum)} {(DQ ($ VSub_Number '$1'))}) (C {(awk)} {(SQ <'{ print $1 }'>)}) ] negated: F ) ] spids: [577 595] ) ] spids: [549] ) spids: [543 548] ) (FuncDef name: sha1sum_file body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(which)} {(sha1sum)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [615] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [618] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Pipeline children: [ (C {(sha1sum)} {(DQ ($ VSub_Number '$1'))}) (C {(awk)} {(SQ <'{ print $1 }'>)}) ] negated: F ) ] spids: [16777215 622] ) ] else_action: [ (Pipeline children: [ (C {(shasum)} {(-a1)} {(DQ ($ VSub_Number '$1'))}) (C {(awk)} {(SQ <'{ print $1 }'>)}) ] negated: F ) ] spids: [640 660] ) ] spids: [606] ) spids: [600 605] ) (FuncDef name: download_tarball body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:download_path) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [678] ) ] spids: [674] ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [688] ) ] spids: [684] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ (${ VSub_Name DOWNLOAD_URL_PREFIX) (/) (${ VSub_Name file))} spids: [694] ) ] spids: [694] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name download_path))}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (WordTest w: { (CommandSubPart command_list: (CommandList children:[(C {(which)} {(curl)})]) left_token: <Left_CommandSub '$('> spids: [721 725] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(curl)} {(-fL)} {(--retry)} {(3)} {(--keepalive-time)} {(2)} {(DQ (${ VSub_Name url))} {(-o)} {(DQ (${ VSub_Name download_path) (/) (${ VSub_Name file))} ) ] spids: [16777215 730] ) (if_arm cond: [ (Sentence child: (DBracket expr: (WordTest w: { (CommandSubPart command_list: (CommandList children:[(C {(which)} {(wget)})]) left_token: <Left_CommandSub '$('> spids: [768 772] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(wget)} {(DQ (${ VSub_Name url))} {(-O)} {(DQ (${ VSub_Name download_path) (/) (${ VSub_Name file))} ) ] spids: [764 777] ) ] else_action: [ (SimpleCommand words: [{(echo)} {(DQ ("Couldn't find curl or wget. Bailing out."))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[810])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(4)}) ] spids: [801 819] ) (C {(echo)}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:md5sum) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(md5sum_file)} {(DQ (${ VSub_Name download_path) (/) (${ VSub_Name file))} ) ] ) left_token: <Left_CommandSub '$('> spids: [828 840] ) } spids: [827] ) ] spids: [825] ) (C {(echo)} {(DQ ('md5sum(') (${ VSub_Name file) (')=') (${ VSub_Name md5sum))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:sha1sum) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(sha1sum_file)} {(DQ (${ VSub_Name download_path) (/) (${ VSub_Name file))} ) ] ) left_token: <Left_CommandSub '$('> spids: [860 872] ) } spids: [859] ) ] spids: [857] ) (C {(echo)} {(DQ ('sha1sum(') (${ VSub_Name file) (')=') (${ VSub_Name sha1sum))}) (C {(echo)}) ] spids: [671] ) spids: [665 670] ) (FuncDef name: extract_arch_tarball body: (BraceGroup children: [ (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:tarfile) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [911] ) ] spids: [907] ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:platform) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [921] ) ] spids: [917] ) (Assignment keyword: Assign_Local flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:arch) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [931] ) ] spids: [927] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:platforms_dir) op: Equal rhs: { (DQ (${ VSub_Name KUBE_ROOT) (/platforms/) (${ VSub_Name platform) (/) (${ VSub_Name arch) ) } spids: [938] ) ] spids: [938] ) (C {(echo)} {(DQ ('Extracting ') (${ VSub_Name tarfile) (' into ') (${ VSub_Name platforms_dir))} ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name platforms_dir))}) (C {(tar)} {(-xzf)} {(DQ (${ VSub_Name tarfile))} {(--strip-components)} {(3)} {(-C)} {(DQ (${ VSub_Name platforms_dir))} ) (C {(ln)} {(-sf)} {(DQ (${ VSub_Name platforms_dir))} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {(${ VSub_Name tarfile)})]) left_token: <Left_CommandSub '$('> spids: [1021 1027] ) (/bin) ) } ) (C {(echo)} { (DQ ("Add '") (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {(${ VSub_Name tarfile)})]) left_token: <Left_CommandSub '$('> spids: [1036 1042] ) ("/bin' to your PATH to use newly-installed binaries.") ) } ) ] spids: [904] ) spids: [898 903] ) (C {(detect_kube_release)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DOWNLOAD_URL_PREFIX) op: Equal rhs: {(DQ (${ VSub_Name KUBERNETES_RELEASE_URL) (/) (${ VSub_Name KUBE_VERSION))} spids: [1051] ) ] spids: [1051] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SERVER_PLATFORM) op: Equal rhs: {(DQ (linux))} spids: [1063] ) ] spids: [1063] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SERVER_ARCH) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name KUBERNETES_SERVER_ARCH> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(amd64)}) spids: [1070 1074] ) ) } spids: [1068] ) ] spids: [1068] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SERVER_TAR) op: Equal rhs: { (DQ (kubernetes-server-) (${ VSub_Name SERVER_PLATFORM) (-) (${ VSub_Name SERVER_ARCH) (.tar.gz) ) } spids: [1077] ) ] spids: [1077] ) (C {(detect_client_info)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLIENT_TAR) op: Equal rhs: { (DQ (kubernetes-client-) (${ VSub_Name CLIENT_PLATFORM) (-) (${ VSub_Name CLIENT_ARCH) (.tar.gz) ) } spids: [1093] ) ] spids: [1093] ) (C {(echo)} {(DQ ('Kubernetes release: ') (${ VSub_Name KUBE_VERSION))}) (C {(echo)} { (DQ ('Server: ') (${ VSub_Name SERVER_PLATFORM) (/) (${ VSub_Name SERVER_ARCH) (' (to override, set KUBERNETES_SERVER_ARCH)') ) } ) (C {(echo)} { (DQ ('Client: ') (${ VSub_Name CLIENT_PLATFORM) (/) (${ VSub_Name CLIENT_ARCH) (' (autodetected)') ) } ) (C {(echo)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DOWNLOAD_SERVER_TAR) op: Equal rhs: {(false)} spids: [1153] ) ] spids: [1153] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolUnary op_id: BoolUnary_e child: {(DQ (${ VSub_Name KUBE_ROOT) (/server/) (${ VSub_Name SERVER_TAR))} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DOWNLOAD_SERVER_TAR) op: Equal rhs: {(true)} spids: [1180] ) ] spids: [1180] ) (C {(echo)} { (DQ ('Will download ') (${ VSub_Name SERVER_TAR) (' from ') (${ VSub_Name DOWNLOAD_URL_PREFIX) ) } ) ] spids: [16777215 1177] ) ] spids: [16777215 1197] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DOWNLOAD_CLIENT_TAR) op: Equal rhs: {(false)} spids: [1206] ) ] spids: [1206] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolUnary op_id: BoolUnary_x child: { (DQ (${ VSub_Name KUBE_ROOT) (/platforms/) (${ VSub_Name CLIENT_PLATFORM) (/) (${ VSub_Name CLIENT_ARCH) (/kubectl) ) } ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DOWNLOAD_CLIENT_TAR) op: Equal rhs: {(true)} spids: [1238] ) ] spids: [1238] ) (C {(echo)} { (DQ ('Will download and extract ') (${ VSub_Name CLIENT_TAR) (' from ') (${ VSub_Name DOWNLOAD_URL_PREFIX) ) } ) ] spids: [16777215 1235] ) ] spids: [16777215 1255] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TESTS_TAR) op: Equal rhs: {(DQ (kubernetes-test.tar.gz))} spids: [1258] ) ] spids: [1258] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:DOWNLOAD_TESTS_TAR) op:Equal rhs:{(false)} spids:[1263])] spids: [1263] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name KUBERNETES_DOWNLOAD_TESTS> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)}) spids: [1273 1276] ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DOWNLOAD_TESTS_TAR) op: Equal rhs: {(true)} spids: [1285] ) ] spids: [1285] ) (C {(echo)} { (DQ ('Will download and extract ') (${ VSub_Name TESTS_TAR) (' from ') (${ VSub_Name DOWNLOAD_URL_PREFIX) ) } ) ] spids: [16777215 1282] ) ] spids: [16777215 1302] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name DOWNLOAD_CLIENT_TAR))} right: {(false)} ) right: (LogicalAnd left: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name DOWNLOAD_SERVER_TAR))} right: {(false)} ) right: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name DOWNLOAD_TESTS_TAR))} right: {(false)} ) ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Nothing additional to download.'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] spids: [16777215 1350] ) ] spids: [16777215 1364] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (DQ (BracedVarSub token: <VSub_Name KUBERNETES_SKIP_CONFIRM> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)}) spids: [1374 1377] ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Is this ok? [Y]/n'))}) (C {(read)} {(confirm)}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name confirm))} right: {(Lit_Other '^') (Lit_Other '[') (nN) (Lit_Other ']') (Lit_Other '$')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ (Aborting.))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 1419] ) ] spids: [16777215 1434] ) ] spids: [16777215 1383] ) ] spids: [16777215 1436] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(DQ (${ VSub_Name DOWNLOAD_SERVER_TAR))}) terminator: <Op_Semi ';'> ) ] action: [ (C {(download_tarball)} {(DQ (${ VSub_Name KUBE_ROOT) (/server))} {(DQ (${ VSub_Name SERVER_TAR))} ) ] spids: [16777215 1448] ) ] spids: [16777215 1466] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(DQ (${ VSub_Name DOWNLOAD_CLIENT_TAR))}) terminator: <Op_Semi ';'> ) ] action: [ (C {(download_tarball)} {(DQ (${ VSub_Name KUBE_ROOT) (/client))} {(DQ (${ VSub_Name CLIENT_TAR))} ) (C {(extract_arch_tarball)} {(DQ (${ VSub_Name KUBE_ROOT) (/client/) (${ VSub_Name CLIENT_TAR))} {(DQ (${ VSub_Name CLIENT_PLATFORM))} {(DQ (${ VSub_Name CLIENT_ARCH))} ) ] spids: [16777215 1478] ) ] spids: [16777215 1521] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(DQ (${ VSub_Name DOWNLOAD_TESTS_TAR))}) terminator: <Op_Semi ';'> ) ] action: [ (C {(download_tarball)} {(DQ (${ VSub_Name KUBE_ROOT) (/test))} {(DQ (${ VSub_Name TESTS_TAR))} ) (C {(echo)} {(DQ ('Extracting ') (${ VSub_Name TESTS_TAR) (' into ') (${ VSub_Name KUBE_ROOT))} ) (C {(tar)} {(-xzf)} {(DQ (${ VSub_Name KUBE_ROOT) (/test/) (${ VSub_Name TESTS_TAR))} {(--strip-components)} {(1)} {(-C)} {(DQ (${ VSub_Name KUBE_ROOT))} ) ] spids: [16777215 1533] ) ] spids: [16777215 1596] ) ] )