(CommandList children: [ (FuncDef name: k_gpg_list_keys_public body: (BraceGroup children: [ (Pipeline children: [ (C {(GPG_BIN)} {(--batch)} {(--no-tty)} {(--with-colons)} {(--list-public-keys)} {(--)} {(DQ ($ VSub_At '$@'))} ) (C {(grep)} {(DQ ('^pub:'))}) (SimpleCommand words: [{(cut)} {(-d)} {(DQ (':'))} {(-f)} {(5)}] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[82])] ) ] negated: F ) ] spids: [41] ) spids: [37 40] ) (FuncDef name: k_gpg_list_keys_secret body: (BraceGroup children: [ (Pipeline children: [ (C {(GPG_BIN)} {(--batch)} {(--no-tty)} {(--with-colons)} {(--list-secret-keys)} {(--)} {(DQ ($ VSub_At '$@'))} ) (C {(grep)} {(DQ ('^sec:'))}) (SimpleCommand words: [{(cut)} {(-d)} {(DQ (':'))} {(-f)} {(5)}] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[154])] ) ] negated: F ) ] spids: [113] ) spids: [109 112] ) (FuncDef name: k_gpg_create body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:name) op:Equal spids:[208]) (assign_pair lhs:(LhsName name:email) op:Equal spids:[210]) (assign_pair lhs:(LhsName name:comment) op:Equal spids:[212]) (assign_pair lhs:(LhsName name:passphraseLine) op:Equal spids:[214]) (assign_pair lhs:(LhsName name:gpgOut) op:Equal spids:[216]) (assign_pair lhs:(LhsName name:result) op:Equal spids:[218]) ] spids: [206] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [222] ) ] spids: [222] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:email) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [230] ) ] spids: [230] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:comment) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 3> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [240 243] ) ) } spids: [238] ) ] spids: [238] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:commentLine) op:Equal rhs:{(DQ )} spids:[247])] spids: [247] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:passphrase) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Number 4> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [254 257] ) ) } spids: [252] ) ] spids: [252] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:passphraseLine) op: Equal rhs: {(DQ )} spids: [261] ) ] spids: [261] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name comment))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:commentLine) op: Equal rhs: {(DQ ('Name-Comment: ') (${ VSub_Name comment))} spids: [285] ) ] spids: [285] ) ] spids: [16777215 282] ) ] spids: [16777215 294] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name passphrase))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:passphraseLine) op: Equal rhs: {(DQ ('Passphrase: ') (${ VSub_Name passphrase))} spids: [316] ) ] spids: [316] ) ] spids: [16777215 313] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:passphraseLine) op: Equal rhs: {(DQ ('%no-protection'))} spids: [328] ) ] spids: [328] ) ] spids: [325 334] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:gpgOut) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(GPG_BIN)} {(--no-tty)} {(--batch)} {(--generate-key)}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [349] ) (HereDoc op_id: Redir_DLessDash fd: 16777215 body: { (DQ ('Key-Type: RSA\n') ('Key-Length: 2048\n') ('Name-Real: ') (${ VSub_Name name) ('\n') (${ VSub_Name commentLine) ('\n') ('Name-Email: ') (${ VSub_Name email) ('\n') (${ VSub_Name passphraseLine) ('\n') ('Expire-Date: 0\n') ('%commit\n') ) } do_expansion: True here_end: EOT was_filled: T spids: [352] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [340 378] ) ) } spids: [338] ) ] spids: [338] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:result) op: Equal rhs: {($ VSub_QMark '$?')} spids: [383] ) ] spids: [383] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(${ VSub_Name result)} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name gpgOut))}) (C {(head)} {(-n)} {(1)} {(-)}) (C {(cut)} {(--delimiter)} {(DQ (' '))} {(--fields)} {(3)}) ] negated: F ) ] spids: [16777215 403] ) ] spids: [16777215 439] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(${ VSub_Name result)} ) ] spids: [203] ) spids: [199 202] ) (FuncDef name: k_gpg_password_prompt body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:gpgKey) op:Equal spids:[482])] spids: [480] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:gpgKey) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [486] ) ] spids: [486] ) (C {(GPG_BIN)} {(--quiet)} {(--edit-key)} {(--)} {(DQ (${ VSub_Name gpgKey))} {(passwd)} {(save)} ) ] spids: [477] ) spids: [473 476] ) (FuncDef name: k_gpg_export_armored body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:key) op:Equal spids:[549]) (assign_pair lhs:(LhsName name:destination) op:Equal spids:[551]) ] spids: [547] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:key) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [555] ) ] spids: [555] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:destination) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [563] ) ] spids: [563] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-d)} {(DQ (${ VSub_Name destination))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:destination) op: Equal rhs: {(DQ (${ VSub_Name destination) (/) (${ VSub_Name key) (.asc))} spids: [590] ) ] spids: [590] ) ] spids: [16777215 587] ) ] spids: [16777215 603] ) (SimpleCommand words: [{(GPG_BIN)} {(--armor)} {(--export)} {(--)} {(DQ (${ VSub_Name key))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name destination))} spids: [621] ) ] ) ] spids: [544] ) spids: [540 543] ) (FuncDef name: k_gpg_export body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:key) op:Equal spids:[665]) (assign_pair lhs:(LhsName name:destination) op:Equal spids:[667]) ] spids: [663] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:key) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [671] ) ] spids: [671] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:destination) op: Equal rhs: {(DQ (${ VSub_Number 2))} spids: [679] ) ] spids: [679] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-d)} {(DQ (${ VSub_Name destination))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:destination) op: Equal rhs: {(DQ (${ VSub_Name destination) (/) (${ VSub_Name key) (.gpg))} spids: [706] ) ] spids: [706] ) ] spids: [16777215 703] ) ] spids: [16777215 719] ) (SimpleCommand words: [{(GPG_BIN)} {(--export)} {(--)} {(DQ (${ VSub_Name key))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name destination))} spids: [735] ) ] ) ] spids: [660] ) spids: [656 659] ) (FuncDef name: k_gpg_search_keys body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:query) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [776] ) ] spids: [774] ) (SimpleCommand words: [ {(GPG_BIN)} {(--no-tty)} {(--with-colons)} {(--batch)} {(--search-keys)} {(--)} {(DQ (${ VSub_Name query))} ] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[801])] ) ] spids: [771] ) spids: [767 770] ) (FuncDef name: k_gpg_receive_keys body: (BraceGroup children: [ (Pipeline children: [ (SimpleCommand words: [ {(GPG_BIN)} {(--no-tty)} {(--batch)} {(--receive-keys)} {(--)} {(DQ ($ VSub_At '$@'))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[849])] ) (C {(head)} {(-n)} {(-2)}) (C {(cut)} {(-c)} {(6-)}) ] negated: F ) ] spids: [832] ) spids: [828 831] ) (FuncDef name: k_gpg_keyid_valid body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:keyId) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [901] ) ] spids: [899] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} { (DQ (BracedVarSub token: <VSub_Name keyId> suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{('0x*')}) spids: [912 916] ) ) } {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')} ) (Subshell child: (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} { (BracedVarSub token: <VSub_Name keyId> prefix_op: VSub_Pound spids: [931 934] ) } {(-eq)} {(10)} {(Lit_Other ']')} ) (C {(Lit_Other '[')} { (BracedVarSub token: <VSub_Name keyId> prefix_op: VSub_Pound spids: [946 949] ) } {(-eq)} {(18)} {(Lit_Other ']')} ) ] ) spids: [928 956] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:keyId) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name keyId> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(0x)}) spids: [964 968] ) ) } spids: [962] ) ] spids: [962] ) ] spids: [16777215 959] ) ] spids: [16777215 972] ) (AndOr ops: [Op_DAmp] children: [ (Subshell child: (AndOr ops: [Op_DPipe] children: [ (C {(Lit_Other '[')} { (BracedVarSub token: <VSub_Name keyId> prefix_op: VSub_Pound spids: [978 981] ) } {(-eq)} {(8)} {(Lit_Other ']')} ) (C {(Lit_Other '[')} { (BracedVarSub token: <VSub_Name keyId> prefix_op: VSub_Pound spids: [993 996] ) } {(-eq)} {(16)} {(Lit_Other ']')} ) ] ) spids: [975 1003] ) (C {(Lit_Other '[')} {(DQ (${ VSub_Name keyId))} {(Lit_Other '=')} { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(printf)} {(DQ ('%s'))} {(DQ (${ VSub_Name keyId))}) (C {(tr)} {(-c)} {(-d)} {(SQ <ABCDEFabcdef0123456789>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1018 1042] ) ) } {(Lit_Other ']')} ) ] ) ] spids: [896] ) spids: [892 895] ) ] )