(command.CommandList children: [ (C {<set>} {<-e>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOCKER_ISSUE_URL) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name DOCKER_ISSUE_URL> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {(DQ <'https://github.com/docker/docker/issues/new'>)} ) ) } spids: [16] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOCKER_ISSUE_NAME_PREFIX) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name DOCKER_ISSUE_NAME_PREFIX> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {(DQ <'Report: '>)} ) ) } spids: [25] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOCKER) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name DOCKER> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{(DQ <docker>)}) ) } spids: [34] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DOCKER_COMMAND) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name DOCKER))} spids: [43] ) ] ) (C {<export>} {<DOCKER_COMMAND>}) (command.ShFunction name: urlencode body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'length='> (DQ (braced_var_sub token:<Id.VSub_Number 1> prefix_op:(Id.VSub_Pound))) } ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike i> right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: <Id.Lit_ArithVarLike i> right: <Id.Lit_ArithVarLike length> ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike i>) body: (command.DoGroup children: [ (C {<local>} {<Id.Lit_VarLike 'c='> (DQ (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Slice begin: <Id.Lit_ArithVarLike i> length: {<Id.Lit_Digits 1>} ) ) ) } ) (command.Case to_match: {($ Id.VSub_DollarName '$c')} arms: [ (case_arm pat_list: [ {<Id.Lit_LBracket '['> <a-zA-Z0-9.> <Id.Lit_TildeLike '~_-'> <Id.Lit_RBracket ']'> } ] action: [(C {<printf>} {(DQ ($ Id.VSub_DollarName '$c'))})] spids: [132 136 144 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<printf>} {(SQ <'%%%02X'>)} {(DQ <'\''> ($ Id.VSub_DollarName '$c'))}) ] spids: [147 148 -1 162] ) ] ) ] ) ) ] ) ) (command.ShFunction name: template body: (BraceGroup children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOM>} here_end_span_id: 263 stdin_parts: [ <'Description of problem:\n'> <'\n'> <'\n'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ) <'docker version'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ) <':\n'> (command_sub left_token: <Id.Left_Backtick '`'> child: (C {(${ Id.VSub_Name DOCKER_COMMAND)} {<-D>} {<version>}) ) <'\n'> <'\n'> <'\n'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ) <'docker info'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ) <':\n'> (command_sub left_token: <Id.Left_Backtick '`'> child: (C {(${ Id.VSub_Name DOCKER_COMMAND)} {<-D>} {<info>}) ) <'\n'> <'\n'> <'\n'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ) <'uname -a'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ) <':\n'> (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<uname>} {<-a>}) ) <'\n'> <'\n'> <'\n'> <'Environment details (AWS, VirtualBox, physical, etc.):\n'> <'\n'> <'\n'> <'How reproducible:\n'> <'\n'> <'\n'> <'Steps to Reproduce:\n'> <'1.\n'> <'2.\n'> <'3.\n'> <'\n'> <'\n'> <'Actual Results:\n'> <'\n'> <'\n'> <'Expected Results:\n'> <'\n'> <'\n'> <'Additional info:\n'> <'\n'> <'\n'> ] ) ) ] do_fork: T ) ] ) ) (command.ShFunction name: format_issue_url body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(braced_var_sub token:<Id.VSub_At '@'> prefix_op:(Id.VSub_Pound))} {<-ne>} {<2>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})] spids: [276 293] ) ] ) (C {<local>} {<Id.Lit_VarLike 'issue_name='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<urlencode>} {(DQ (${ Id.VSub_Name DOCKER_ISSUE_NAME_PREFIX) (${ Id.VSub_Number 1))} ) ) } ) (C {<local>} {<Id.Lit_VarLike 'issue_body='> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<urlencode>} {(DQ (${ Id.VSub_Number 2))}) ) } ) (C {<echo>} { (DQ (${ Id.VSub_Name DOCKER_ISSUE_URL) <'?title='> (${ Id.VSub_Name issue_name) <'&body='> (${ Id.VSub_Name issue_body) ) } ) ] ) ) (C {<echo>} {<-ne>} { (DQ <'Do you use '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) <sudo> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) <' to call docker? [y|N]: '> ) } ) (C {<read>} {<-r>} {<-n>} {<1>} {<use_sudo>}) (C {<echo>} {(DQ )}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ <x> (${ Id.VSub_Name use_sudo))} {<Id.Lit_Equals '='>} {(DQ <xy>)} {<-o>} {(DQ <x> (${ Id.VSub_Name use_sudo))} {<Id.Lit_Equals '='>} {(DQ <xY>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<export>} {<Id.Lit_VarLike 'DOCKER_COMMAND='> (DQ <'sudo '> (${ Id.VSub_Name DOCKER))}) ] spids: [383 418] ) ] ) (C {<echo>} {<-ne>} {(DQ <'Title of new issue?: '>)}) (C {<read>} {<-r>} {<issue_title>}) (C {<echo>} {(DQ )}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:issue_url) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<format_issue_url>} {(DQ (${ Id.VSub_Name issue_title))} {(DQ (command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<template>})))} ) ) } spids: [454] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple words: [{<which>} {<xdg-open>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {<-ne>} {(DQ <'Would like to launch this report in your browser? [Y|n]: '>)}) (C {<read>} {<-r>} {<-n>} {<1>} {<launch_now>}) (C {<echo>} {(DQ )}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ (${ Id.VSub_Name launch_now))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <n>)} {<-a>} {(DQ (${ Id.VSub_Name launch_now))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <N>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<xdg-open>} {(DQ (${ Id.VSub_Name issue_url))})] spids: [516 551] ) ] ) ] spids: [472 486] ) ] ) (C {<echo>} { (DQ <'If you would like to manually open the url, you can open this link if your browser: '> (${ Id.VSub_Name issue_url) ) } ) ] )