(CommandList
  children: [
    (FuncDef
      name: getopts_long
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(-n)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name ZSH_VERSION>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(z)})
                        spids: [621 625]
                      )
                    )
                  } {(Lit_Other "]")}
                )
                (C {(emulate)} {(-L)} {(sh)})
              ]
              op_id: Op_DAmp
            )
            (AndOr
              children: [(C {(unset)} {(OPTLERR)} {(OPTLARG)}) (C {(Lit_Other ":")})]
              op_id: Op_DPipe
            )
            (Case
              to_match: {(DQ ($ VSub_Name "$OPTLIND"))}
              arms: [
                (case_arm
                  pat_list: [
                    {(DQ )}
                    {(0)}
                    {(Lit_Other "*") (Lit_Other "[") (KW_Bang "!") (0-9) (Lit_Other "]") (Lit_Other "*")}
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:OPTLIND) op:Equal rhs:{(1)} spids:[683])]
                      spids: [683]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OPTLPENDING)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [687]
                        )
                      ]
                      spids: [687]
                    )
                  ]
                  spids: [-1 676 690 -1]
                )
              ]
              spids: [652 658 693]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Pound "$#"))} {(-lt)} {(2)} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(printf)} {(SQ <"getopts_long: not enough arguments\\n">)}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[717])]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [-1 712]
                )
              ]
              spids: [-1 730]
            )
            (SimpleCommand
              words: [
                {(command)}
                {(eval)}
                {
                  (SQ <"\n"> <"    case \"$2\" in\n"> <"      *[!a-zA-Z_0-9]*|\"\"|[0-9]*)\n"> 
                    <"\tprintf >&2 \"getopts_long: invalid variable name: \\`%s">
                  ) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) 
                  (SQ <"\\n\" \"$2\"\n"> <"\treturn 1\n"> <"\t;;\n"> <"    esac">)
                }
              ]
              more_env: [(env_pair name:LC_ALL val:{(C)} spids:[738])]
            )
            (Case
              to_match: {(DQ ($ VSub_Number "$1"))}
              arms: [
                (case_arm
                  pat_list: [
                    {(Lit_Other ":") (Lit_Other ":") (Lit_Other "*")}
                    {(Lit_Other "*") (Lit_Other ":") (Lit_Other ":") (Lit_Other ":") (Lit_Other "*")}
                    {(Lit_Other "*") (-) (Lit_Other "*")}
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(printf)}
                        {
                          (DQ ("getopts_long: invalid option specification: ") 
                            (EscapedLiteralPart
                              token: <Lit_EscapedChar "\\`">
                            ) ("%s'") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">)
                          )
                        }
                        {(DQ ($ VSub_Number "$1"))}
                      ]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[792])]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [774 787 812 -1]
                )
              ]
              spids: [765 771 815]
            )
            (C {(set)} {(4)} {(DQ ($ VSub_At "$@"))})
            (While
              cond: [(Sentence child:(C {(Lit_Other ":")}) terminator:<Op_Semi ";">)]
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (AndOr
                              children: [
                                (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(-gt)} 
                                  {(DQ ($ VSub_Pound "$#"))} {(Lit_Other "]")}
                                )
                                (BraceGroup
                                  children: [
                                    (C {(eval)} 
                                      {(SQ <"set -- \"${">) (DQ ($ VSub_Number "$1")) 
                                        (SQ <"}\" \"$@\"">)
                                      }
                                    )
                                    (AndOr
                                      children: [
                                        (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Number "$1"))} 
                                          {(Lit_Other "]")}
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Break break>
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (C {(Lit_Other "[")} 
                                      {
                                        (DQ 
                                          (ArithSubPart
                                            anode: 
                                              (ArithBinary
                                                op_id: Arith_Plus
                                                left: (ArithWord w:{($ VSub_Number "$2")})
                                                right: (ArithWord w:{(Lit_Digits 2)})
                                              )
                                            spids: [903 910]
                                          )
                                        )
                                      } {(-gt)} {(DQ ($ VSub_Pound "$#"))} {(Lit_Other "]")}
                                    )
                                  ]
                                  spids: [869]
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [
                                {(printf)}
                                {
                                  (DQ 
                                    (
"getopts_long: long option specifications must end in an empty argument"
                                    ) (EscapedLiteralPart token:<Lit_EscapedChar "\\n">)
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {(2)}
                                  spids: [930]
                                )
                              ]
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [-1 925]
                        )
                      ]
                      spids: [-1 944]
                    )
                    (C {(eval)} 
                      {(SQ <"set -- \"${">) 
                        (DQ 
                          (ArithSubPart
                            anode: 
                              (ArithBinary
                                op_id: Arith_Plus
                                left: (ArithWord w:{($ VSub_Number "$2")})
                                right: (ArithWord w:{(Lit_Digits 2)})
                              )
                            spids: [953 960]
                          )
                        ) (SQ <"}\" \"$@\"">)
                      }
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Number "$2"))}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (Lit_Other "=") (Lit_Other "*")}]
                          action: [
                            (SimpleCommand
                              words: [
                                {(printf)}
                                {
                                  (DQ ("getopts_long: invalid long option name: ") 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\`">
                                    ) ("%s'") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">)
                                  )
                                }
                                {(DQ ($ VSub_Number "$2"))}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {(2)}
                                  spids: [988]
                                )
                              ]
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [980 983 1008 -1]
                        )
                      ]
                      spids: [971 977 1011]
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Number "$1"))}
                      arms: [
                        (case_arm
                          pat_list: [{(0)} {(no_argument)}]
                          spids: [1023 1028 1030 -1]
                        )
                        (case_arm
                          pat_list: [{(1)} {(required_argument)}]
                          spids: [1033 1038 1040 -1]
                        )
                        (case_arm
                          pat_list: [{(2)} {(optional_argument)}]
                          spids: [1043 1048 1050 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (SimpleCommand
                              words: [
                                {(printf)}
                                {
                                  (DQ ("getopts_long: invalid long option type: ") 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\`">
                                    ) ("%s'") (EscapedLiteralPart token:<Lit_EscapedChar "\\n">)
                                  )
                                }
                                {(DQ ($ VSub_Number "$1"))}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {(2)}
                                  spids: [1059]
                                )
                              ]
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [1053 1054 1079 -1]
                        )
                      ]
                      spids: [1014 1020 1082]
                    )
                    (C {(eval)} 
                      {
                        (DQ ("shift 3; set ") 
                          (ArithSubPart
                            anode: 
                              (ArithBinary
                                op_id: Arith_Plus
                                left: (ArithWord w:{($ VSub_Number "$3")})
                                right: (ArithWord w:{(Lit_Digits 2)})
                              )
                            spids: [1089 1096]
                          )
                        ) (SQ <" \"$@\"">)
                      }
                    )
                  ]
                  spids: [847 1103]
                )
            )
            (C {(shift)})
            (C {(eval)} 
              {
                (DQ ("shift; set ") 
                  (ArithSubPart
                    anode: 
                      (ArithBinary
                        op_id: Arith_Plus
                        left: (ArithWord w:{($ VSub_Number "$1")})
                        right: (ArithWord w:{($ VSub_Name "$OPTLIND")})
                      )
                    spids: [1114 1121]
                  )
                ) (SQ <" \"$@\"">)
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$OPTLPENDING"))} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Number "$1"))} {(-le)} 
                          {(DQ ($ VSub_Pound "$#"))} {(Lit_Other "]")}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C {(eval)} {(SQ <"set -- \"${">) (DQ ($ VSub_Number "$1")) (SQ <"}\" \"$@\"">)})
                    (Case
                      to_match: {(DQ ($ VSub_Number "$1"))}
                      arms: [
                        (case_arm
                          pat_list: [{(--)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTLIND)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Plus
                                            left: (ArithWord w:{($ VSub_Name "$OPTLIND")})
                                            right: (ArithWord w:{(Lit_Digits 1)})
                                          )
                                        spids: [1203 1210]
                                      )
                                    }
                                  spids: [1202]
                                )
                              ]
                              spids: [1202]
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [1198 1199 1218 -1]
                        )
                        (case_arm
                          pat_list: [{(--) (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTLIND)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Plus
                                            left: (ArithWord w:{($ VSub_Name "$OPTLIND")})
                                            right: (ArithWord w:{(Lit_Digits 1)})
                                          )
                                        spids: [1227 1234]
                                      )
                                    }
                                  spids: [1226]
                                )
                              ]
                              spids: [1226]
                            )
                          ]
                          spids: [1221 1223 1237 -1]
                        )
                        (case_arm
                          pat_list: [{(-) (Lit_Other "?") (Lit_Other "*")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTLPENDING)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Number 1>
                                          suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(-)})
                                          spids: [1248 1252]
                                        )
                                      )
                                    }
                                  spids: [1246]
                                )
                              ]
                              spids: [1246]
                            )
                            (C {(shift)})
                          ]
                          spids: [1240 1243 1259 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})]
                          spids: [1262 1263 1271 -1]
                        )
                      ]
                      spids: [1189 1195 1274]
                    )
                  ]
                  spids: [-1 1151]
                )
              ]
              spids: [-1 1277]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$OPTLPENDING"))} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OPTLARG)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Name OPTLPENDING>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VOp1_Percent
                                    arg_word: 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name OPTLPENDING>
                                            suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("?")})
                                            spids: [1306 1310]
                                          )
                                        )
                                      }
                                  )
                                spids: [1302 1312]
                              )
                            }
                          spids: [1301]
                        )
                      ]
                      spids: [1301]
                    )
                    (C {(set)} {(--)} {(DQ ($ VSub_Name "$OPTLARG"))} {(DQ ($ VSub_At "$@"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OPTLPENDING)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name OPTLPENDING>
                                  suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("?")})
                                  spids: [1330 1334]
                                )
                              )
                            }
                          spids: [1328]
                        )
                      ]
                      spids: [1328]
                    )
                    (C {(unset)} {(OPTLARG)})
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$OPTLPENDING"))} {(Lit_Other "]")})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:OPTLIND)
                              op: Equal
                              rhs: 
                                {
                                  (ArithSubPart
                                    anode: 
                                      (ArithBinary
                                        op_id: Arith_Plus
                                        left: (ArithWord w:{($ VSub_Name "$OPTLIND")})
                                        right: (ArithWord w:{(Lit_Digits 1)})
                                      )
                                    spids: [1363 1370]
                                  )
                                }
                              spids: [1362]
                            )
                          ]
                          spids: [1362]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Number "$1"))}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "[") (-) (Lit_Other ":") (Lit_Other "]")}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:OPTLERR)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ("bad option: ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\`">
                                        ) (-) ($ VSub_Number "$1") ("'")
                                      )
                                    }
                                  spids: [1390]
                                )
                              ]
                              spids: [1390]
                            )
                            (Case
                              to_match: {(DQ ($ VSub_Number "$3"))}
                              arms: [
                                (case_arm
                                  pat_list: [{(Lit_Other ":") (Lit_Other "*")}]
                                  action: [
                                    (C {(eval)} {(DQ ($ VSub_Number "$4") ("=:"))})
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:OPTLARG)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number "$1"))}
                                          spids: [1422]
                                        )
                                      ]
                                      spids: [1422]
                                    )
                                  ]
                                  spids: [1409 1411 1428 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (SimpleCommand
                                      words: [{(printf)} {(SQ <"%s\\n">)} {(DQ ($ VSub_Name "$OPTLERR"))}]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_GreatAnd
                                          fd: -1
                                          arg_word: {(2)}
                                          spids: [1437]
                                        )
                                      ]
                                    )
                                    (C {(eval)} {(DQ ($ VSub_Number "$4") ("='?'"))})
                                  ]
                                  spids: [1431 1432 1457 -1]
                                )
                              ]
                              spids: [1400 1406 1460]
                            )
                          ]
                          spids: [1383 1387 1463 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other "*")}]
                          action: [
                            (Case
                              to_match: {(DQ ($ VSub_Number "$3"))}
                              arms: [
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ ($ VSub_Number "$1")) (Lit_Other ":") 
                                      (Lit_Other ":") (Lit_Other "*")
                                    }
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ($ VSub_Number "$4") ("=") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\\"">
                                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (1) 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\\"">
                                          )
                                        )
                                      }
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(Lit_Other "[")} {(-n)} 
                                                  {(DQ ($ VSub_Name "$OPTLPENDING"))} {(Lit_Other "]")}
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:OPTLARG)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$OPTLPENDING"))}
                                                  spids: [1525]
                                                )
                                              ]
                                              spids: [1525]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:OPTLPENDING)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [1531]
                                                )
                                              ]
                                              spids: [1531]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:OPTLIND)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (ArithSubPart
                                                        anode: 
                                                          (ArithBinary
                                                            op_id: Arith_Plus
                                                            left: 
                                                              (ArithWord
                                                                w: {($ VSub_Name "$OPTLIND")}
                                                              )
                                                            right: (ArithWord w:{(Lit_Digits 1)})
                                                          )
                                                        spids: [1535 1542]
                                                      )
                                                    }
                                                  spids: [1534]
                                                )
                                              ]
                                              spids: [1534]
                                            )
                                          ]
                                          spids: [-1 1518]
                                        )
                                      ]
                                      spids: [-1 1545]
                                    )
                                  ]
                                  spids: [1480 1487 1548 -1]
                                )
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ ($ VSub_Number "$1")) (Lit_Other ":") 
                                      (Lit_Other "*")
                                    }
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(Lit_Other "[")} {(-n)} 
                                                  {(DQ ($ VSub_Name "$OPTLPENDING"))} {(Lit_Other "]")}
                                                )
                                              terminator: <Op_Semi ";">
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:OPTLARG)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name "$OPTLPENDING"))}
                                                  spids: [1584]
                                                )
                                              ]
                                              spids: [1584]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ($ VSub_Number "$4") ("=") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\\"">
                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (1) 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\\"">
                                                  )
                                                )
                                              }
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:OPTLPENDING)
                                                  op: Equal
                                                  rhs: {(SQ )}
                                                  spids: [1602]
                                                )
                                              ]
                                              spids: [1602]
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:OPTLIND)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (ArithSubPart
                                                        anode: 
                                                          (ArithBinary
                                                            op_id: Arith_Plus
                                                            left: 
                                                              (ArithWord
                                                                w: {($ VSub_Name "$OPTLIND")}
                                                              )
                                                            right: (ArithWord w:{(Lit_Digits 1)})
                                                          )
                                                        spids: [1606 1613]
                                                      )
                                                    }
                                                  spids: [1605]
                                                )
                                              ]
                                              spids: [1605]
                                            )
                                          ]
                                          spids: [-1 1577]
                                        )
                                      ]
                                      else_action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(Lit_Other "[")} 
                                                      {
                                                        (DQ 
                                                          (ArithSubPart
                                                            anode: 
                                                              (ArithBinary
                                                                op_id: Arith_Plus
                                                                left: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Number "$2")}
                                                                  )
                                                                right: (ArithWord w:{(Lit_Digits 2)})
                                                              )
                                                            spids: [1628 1635]
                                                          )
                                                        )
                                                      } {(-gt)} {(DQ ($ VSub_Pound "$#"))} {(Lit_Other "]")}
                                                    )
                                                  terminator: <Op_Semi ";">
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:OPTLERR)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ ("option ") 
                                                            (EscapedLiteralPart
                                                              token: <Lit_EscapedChar "\\`">
                                                            ) (-) ($ VSub_Number "$1") ("' requires an argument")
                                                          )
                                                        }
                                                      spids: [1650]
                                                    )
                                                  ]
                                                  spids: [1650]
                                                )
                                                (Case
                                                  to_match: {(DQ ($ VSub_Number "$3"))}
                                                  arms: [
                                                    (case_arm
                                                      pat_list: [{(Lit_Other ":") (Lit_Other "*")}]
                                                      action: [
                                                        (C {(eval)} {(DQ ($ VSub_Number "$4") ("=:"))})
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:OPTLARG)
                                                              op: Equal
                                                              rhs: {(DQ ($ VSub_Number "$1"))}
                                                              spids: [1682]
                                                            )
                                                          ]
                                                          spids: [1682]
                                                        )
                                                      ]
                                                      spids: [1669 1671 1688 -1]
                                                    )
                                                    (case_arm
                                                      pat_list: [{(Lit_Other "*")}]
                                                      action: [
                                                        (SimpleCommand
                                                          words: [
                                                            {(printf)}
                                                            {(SQ <"%s\\n">)}
                                                            {(DQ ($ VSub_Name "$OPTLERR"))}
                                                          ]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_GreatAnd
                                                              fd: -1
                                                              arg_word: {(2)}
                                                              spids: [1697]
                                                            )
                                                          ]
                                                        )
                                                        (C {(eval)} {(DQ ($ VSub_Number "$4") ("='?'"))})
                                                      ]
                                                      spids: [1691 1692 1717 -1]
                                                    )
                                                  ]
                                                  spids: [1660 1666 1720]
                                                )
                                              ]
                                              spids: [-1 1647]
                                            )
                                          ]
                                          else_action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:OPTLIND)
                                                  op: Equal
                                                  rhs: 
                                                    {
                                                      (ArithSubPart
                                                        anode: 
                                                          (ArithBinary
                                                            op_id: Arith_Plus
                                                            left: 
                                                              (ArithWord
                                                                w: {($ VSub_Name "$OPTLIND")}
                                                              )
                                                            right: (ArithWord w:{(Lit_Digits 1)})
                                                          )
                                                        spids: [1727 1734]
                                                      )
                                                    }
                                                  spids: [1726]
                                                )
                                              ]
                                              spids: [1726]
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ("OPTLARG=") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\\"">
                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{") 
                                                  (ArithSubPart
                                                    anode: 
                                                      (ArithBinary
                                                        op_id: Arith_Plus
                                                        left: (ArithWord w:{($ VSub_Number "$2")})
                                                        right: (ArithWord w:{(Lit_Digits 2)})
                                                      )
                                                    spids: [1744 1751]
                                                  ) ("}") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                                )
                                              }
                                            )
                                            (C {(eval)} 
                                              {
                                                (DQ ($ VSub_Number "$4") ("=") 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\\"">
                                                  ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (1) 
                                                  (EscapedLiteralPart
                                                    token: <Lit_EscapedChar "\\\"">
                                                  )
                                                )
                                              }
                                            )
                                          ]
                                          spids: [1723 1769]
                                        )
                                      ]
                                      spids: [1616 1772]
                                    )
                                  ]
                                  spids: [1552 1558 1775 -1]
                                )
                                (case_arm
                                  pat_list: [
                                    {(Lit_Other "*") (DQ ($ VSub_Number "$1")) (Lit_Other "*")}
                                  ]
                                  action: [
                                    (C {(eval)} 
                                      {
                                        (DQ ($ VSub_Number "$4") ("=") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\\"">
                                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (1) 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\\"">
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [1779 1784 1802 -1]
                                )
                                (case_arm
                                  pat_list: [{(Lit_Other "*")}]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:OPTLERR)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ ("bad option: ") 
                                                (EscapedLiteralPart
                                                  token: <Lit_EscapedChar "\\`">
                                                ) (-) ($ VSub_Number "$1") ("'")
                                              )
                                            }
                                          spids: [1809]
                                        )
                                      ]
                                      spids: [1809]
                                    )
                                    (Case
                                      to_match: {(DQ ($ VSub_Number "$3"))}
                                      arms: [
                                        (case_arm
                                          pat_list: [{(Lit_Other ":") (Lit_Other "*")}]
                                          action: [
                                            (C {(eval)} {(DQ ($ VSub_Number "$4") ("=:"))})
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:OPTLARG)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Number "$1"))}
                                                  spids: [1841]
                                                )
                                              ]
                                              spids: [1841]
                                            )
                                          ]
                                          spids: [1828 1830 1847 -1]
                                        )
                                        (case_arm
                                          pat_list: [{(Lit_Other "*")}]
                                          action: [
                                            (SimpleCommand
                                              words: [
                                                {(printf)}
                                                {(SQ <"%s\\n">)}
                                                {(DQ ($ VSub_Name "$OPTLERR"))}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_GreatAnd
                                                  fd: -1
                                                  arg_word: {(2)}
                                                  spids: [1856]
                                                )
                                              ]
                                            )
                                            (C {(eval)} {(DQ ($ VSub_Number "$4") ("='?'"))})
                                          ]
                                          spids: [1850 1851 1876 -1]
                                        )
                                      ]
                                      spids: [1819 1825 1879]
                                    )
                                  ]
                                  spids: [1805 1806 1882 -1]
                                )
                              ]
                              spids: [1471 1477 1885]
                            )
                          ]
                          spids: [1467 1468 1888 -1]
                        )
                      ]
                      spids: [1374 1380 1891]
                    )
                  ]
                  spids: [-1 1294]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:OPTLPENDING)
                      op: Equal
                      rhs: {(DQ ($ VSub_Number "$1"))}
                      spids: [1905]
                    )
                  ]
                  spids: [1905]
                )
                (C {(shift)})
                (C {(set)} {(6)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name OPTLPENDING>
                        suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(--)})
                        spids: [1919 1923]
                      )
                    )
                  } {(DQ ($ VSub_At "$@"))}
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:OPTLPENDING)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [1931]
                    )
                  ]
                  spids: [1931]
                )
                (While
                  cond: [
                    (C {(eval)} {(SQ <"set -- \"${">) (DQ ($ VSub_Number "$1")) (SQ <"}\" \"$@\"">)})
                    (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "]")})
                  ]
                  body: 
                    (DoGroup
                      children: [
                        (Case
                          to_match: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Number 3>
                                  suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{("=*")})
                                  spids: [1973 1977]
                                )
                              )
                            }
                          arms: [
                            (case_arm
                              pat_list: [{(DQ ($ VSub_Number "$1"))}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:OPTLPENDING)
                                      op: Equal
                                      rhs: {(EXACT)}
                                      spids: [1989]
                                    )
                                  ]
                                  spids: [1989]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              spids: [1984 1986 1994 -1]
                            )
                          ]
                          spids: [1970 1980 1997]
                        )
                        (Case
                          to_match: {(DQ ($ VSub_Number "$1"))}
                          arms: [
                            (case_arm
                              pat_list: [
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Number 3>
                                      suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{("=*")})
                                      spids: [2015 2019]
                                    )
                                  ) (Lit_Other "*")
                                }
                              ]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other "[")} {(-n)} 
                                              {(DQ ($ VSub_Name "$OPTLPENDING"))} {(Lit_Other "]")}
                                            )
                                          terminator: <Op_Semi ";">
                                        )
                                      ]
                                      action: [
                                        (AndOr
                                          children: [
                                            (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$OPTLPENDING"))} 
                                              {(Lit_Other "=")} {(AMBIGUOUS)} {(Lit_Other "]")}
                                            )
                                            (AndOr
                                              children: [
                                                (C {(eval)} 
                                                  {(SQ <"[ \"${">) 
                                                    (DQ 
                                                      (ArithSubPart
                                                        anode: 
                                                          (ArithBinary
                                                            op_id: Arith_Plus
                                                            left: 
                                                              (ArithWord
                                                                w: {($ VSub_Name "$OPTLPENDING")}
                                                              )
                                                            right: (ArithWord w:{(Lit_Digits 1)})
                                                          )
                                                        spids: [2061 2068]
                                                      )
                                                    ) (SQ <"}\" = \"$1\" ]">)
                                                  }
                                                )
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:OPTLPENDING)
                                                      op: Equal
                                                      rhs: {(AMBIGUOUS)}
                                                      spids: [2077]
                                                    )
                                                  ]
                                                  spids: [2077]
                                                )
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          op_id: Op_DPipe
                                        )
                                      ]
                                      spids: [-1 2038]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:OPTLPENDING)
                                          op: Equal
                                          rhs: {(DQ ($ VSub_Number "$2"))}
                                          spids: [2100]
                                        )
                                      ]
                                      spids: [2100]
                                    )
                                  ]
                                  spids: [2097 2106]
                                )
                              ]
                              spids: [2015 2022 2109 -1]
                            )
                          ]
                          spids: [2005 2011 2112]
                        )
                        (C {(eval)} 
                          {
                            (DQ ("shift 2; set ") 
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Plus
                                    left: (ArithWord w:{($ VSub_Number "$2")})
                                    right: (ArithWord w:{(Lit_Digits 2)})
                                  )
                                spids: [2119 2126]
                              ) (" ")
                            ) (SQ <"\"$@\"">)
                          }
                        )
                      ]
                      spids: [1962 2134]
                    )
                )
                (Case
                  to_match: {(DQ ($ VSub_Name "$OPTLPENDING"))}
                  arms: [
                    (case_arm
                      pat_list: [{(AMBIGUOUS)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:OPTLERR)
                              op: Equal
                              rhs: 
                                {
                                  (DQ ("option ") (EscapedLiteralPart token:<Lit_EscapedChar "\\`">) 
                                    (--) 
                                    (BracedVarSub
                                      token: <VSub_Number 3>
                                      suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{("=*")})
                                      spids: [2156 2160]
                                    ) ("' is ambiguous")
                                  )
                                }
                              spids: [2151]
                            )
                          ]
                          spids: [2151]
                        )
                        (Case
                          to_match: {(DQ ($ VSub_Number "$5"))}
                          arms: [
                            (case_arm
                              pat_list: [{(Lit_Other ":") (Lit_Other "*")}]
                              action: [
                                (C {(eval)} {(DQ ($ VSub_Number "$6") ("=:"))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:OPTLARG)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Number 3>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VOp1_DPercent
                                                  arg_word: {("=*")}
                                                )
                                              spids: [2189 2193]
                                            )
                                          )
                                        }
                                      spids: [2187]
                                    )
                                  ]
                                  spids: [2187]
                                )
                              ]
                              spids: [2174 2176 2197 -1]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other "*")}]
                              action: [
                                (SimpleCommand
                                  words: [{(printf)} {(SQ <"%s\\n">)} {(DQ ($ VSub_Name "$OPTLERR"))}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: -1
                                      arg_word: {(2)}
                                      spids: [2206]
                                    )
                                  ]
                                )
                                (C {(eval)} {(DQ ($ VSub_Number "$6") ("='?'"))})
                              ]
                              spids: [2200 2201 2226 -1]
                            )
                          ]
                          spids: [2165 2171 2229]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:OPTLPENDING)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [2232]
                            )
                          ]
                          spids: [2232]
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [2147 2148 2240 -1]
                    )
                    (case_arm
                      pat_list: [{(EXACT)}]
                      action: [
                        (C {(eval)} 
                          {(SQ <"set \"${">) 
                            (DQ 
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Plus
                                    left: (ArithWord w:{($ VSub_Number "$2")})
                                    right: (ArithWord w:{(Lit_Digits 2)})
                                  )
                                spids: [2253 2260]
                              )
                            ) (SQ <"}\" \"$@\"">)
                          }
                        )
                      ]
                      spids: [2243 2244 2267 -1]
                    )
                    (case_arm
                      pat_list: [{(DQ )}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:OPTLERR)
                              op: Equal
                              rhs: 
                                {
                                  (DQ ("bad option: ") 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\`">
                                    ) (--) 
                                    (BracedVarSub
                                      token: <VSub_Number 3>
                                      suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{("=*")})
                                      spids: [2280 2284]
                                    ) ("'")
                                  )
                                }
                              spids: [2275]
                            )
                          ]
                          spids: [2275]
                        )
                        (Case
                          to_match: {(DQ ($ VSub_Number "$5"))}
                          arms: [
                            (case_arm
                              pat_list: [{(Lit_Other ":") (Lit_Other "*")}]
                              action: [
                                (C {(eval)} {(DQ ($ VSub_Number "$6") ("=:"))})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:OPTLARG)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Number 3>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VOp1_DPercent
                                                  arg_word: {("=*")}
                                                )
                                              spids: [2313 2317]
                                            )
                                          )
                                        }
                                      spids: [2311]
                                    )
                                  ]
                                  spids: [2311]
                                )
                              ]
                              spids: [2298 2300 2321 -1]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other "*")}]
                              action: [
                                (SimpleCommand
                                  words: [{(printf)} {(SQ <"%s\\n">)} {(DQ ($ VSub_Name "$OPTLERR"))}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_GreatAnd
                                      fd: -1
                                      arg_word: {(2)}
                                      spids: [2330]
                                    )
                                  ]
                                )
                                (C {(eval)} {(DQ ($ VSub_Number "$6") ("='?'"))})
                              ]
                              spids: [2324 2325 2350 -1]
                            )
                          ]
                          spids: [2289 2295 2353]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:OPTLPENDING)
                              op: Equal
                              rhs: {(SQ )}
                              spids: [2356]
                            )
                          ]
                          spids: [2356]
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [-1 2272 2364 -1]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other "*")}]
                      action: [
                        (C {(shift)})
                        (C {(eval)} 
                          {(SQ <"set \"${">) 
                            (DQ 
                              (ArithSubPart
                                anode: 
                                  (ArithBinary
                                    op_id: Arith_Plus
                                    left: (ArithWord w:{($ VSub_Name "$OPTLPENDING")})
                                    right: (ArithWord w:{(Lit_Digits 1)})
                                  )
                                spids: [2384 2391]
                              )
                            ) (SQ <"}\" \"${">) (DQ ($ VSub_Name "$OPTLPENDING")) (SQ <"}\" \"$@\"">)
                          }
                        )
                      ]
                      spids: [2367 2368 2404 -1]
                    )
                  ]
                  spids: [2138 2144 2407]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:OPTLPENDING)
                      op: Equal
                      rhs: {(SQ )}
                      spids: [2411]
                    )
                  ]
                  spids: [2411]
                )
                (Case
                  to_match: {(DQ ($ VSub_Number "$4"))}
                  arms: [
                    (case_arm
                      pat_list: [{(Lit_Other "*") (Lit_Other "=") (Lit_Other "*")}]
                      action: [
                        (Case
                          to_match: {(DQ ($ VSub_Number "$1"))}
                          arms: [
                            (case_arm
                              pat_list: [{(1)} {(required_argument)} {(2)} {(optional_argument)}]
                              action: [
                                (C {(eval)} 
                                  {
                                    (DQ ($ VSub_Number "$7") ("=") 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\\"">
                                      ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (2) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\\"">
                                      )
                                    )
                                  }
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:OPTLARG)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Number 4>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VOp1_Pound
                                                  arg_word: {("*=")}
                                                )
                                              spids: [2478 2482]
                                            )
                                          )
                                        }
                                      spids: [2476]
                                    )
                                  ]
                                  spids: [2476]
                                )
                              ]
                              spids: [2448 2461 2486 -1]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other "*")}]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:OPTLERR)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ("option ") 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar "\\`">
                                            ) (--) ($ VSub_Number "$2") ("' doesn't allow an argument")
                                          )
                                        }
                                      spids: [2493]
                                    )
                                  ]
                                  spids: [2493]
                                )
                                (Case
                                  to_match: {(DQ ($ VSub_Number "$6"))}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(Lit_Other ":") (Lit_Other "*")}]
                                      action: [
                                        (C {(eval)} {(DQ ($ VSub_Number "$7") ("=:"))})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:OPTLARG)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Number "$2"))}
                                              spids: [2525]
                                            )
                                          ]
                                          spids: [2525]
                                        )
                                      ]
                                      spids: [2512 2514 2531 -1]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other "*")}]
                                      action: [
                                        (SimpleCommand
                                          words: [
                                            {(printf)}
                                            {(SQ <"%s\\n">)}
                                            {(DQ ($ VSub_Name "$OPTLERR"))}
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_GreatAnd
                                              fd: -1
                                              arg_word: {(2)}
                                              spids: [2540]
                                            )
                                          ]
                                        )
                                        (C {(eval)} {(DQ ($ VSub_Number "$7") ("='?'"))})
                                      ]
                                      spids: [2534 2535 2560 -1]
                                    )
                                  ]
                                  spids: [2503 2509 2563]
                                )
                              ]
                              spids: [2489 2490 2566 -1]
                            )
                          ]
                          spids: [2439 2445 2569]
                        )
                      ]
                      spids: [2433 2436 2572 -1]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other "*")}]
                      action: [
                        (Case
                          to_match: {(DQ ($ VSub_Number "$1"))}
                          arms: [
                            (case_arm
                              pat_list: [{(1)} {(required_argument)}]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other "[")} 
                                              {
                                                (DQ 
                                                  (ArithSubPart
                                                    anode: 
                                                      (ArithBinary
                                                        op_id: Arith_Plus
                                                        left: (ArithWord w:{($ VSub_Number "$5")})
                                                        right: (ArithWord w:{(Lit_Digits 5)})
                                                      )
                                                    spids: [2602 2609]
                                                  )
                                                )
                                              } {(-gt)} {(DQ ($ VSub_Pound "$#"))} {(Lit_Other "]")}
                                            )
                                          terminator: <Op_Semi ";">
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:OPTLERR)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ("option ") 
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar "\\`">
                                                    ) (--) ($ VSub_Number "$2") ("' requires an argument")
                                                  )
                                                }
                                              spids: [2624]
                                            )
                                          ]
                                          spids: [2624]
                                        )
                                        (Case
                                          to_match: {(DQ ($ VSub_Number "$6"))}
                                          arms: [
                                            (case_arm
                                              pat_list: [{(Lit_Other ":") (Lit_Other "*")}]
                                              action: [
                                                (C {(eval)} {(DQ ($ VSub_Number "$7") ("=:"))})
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:OPTLARG)
                                                      op: Equal
                                                      rhs: {(DQ ($ VSub_Number "$2"))}
                                                      spids: [2656]
                                                    )
                                                  ]
                                                  spids: [2656]
                                                )
                                              ]
                                              spids: [2643 2645 2662 -1]
                                            )
                                            (case_arm
                                              pat_list: [{(Lit_Other "*")}]
                                              action: [
                                                (SimpleCommand
                                                  words: [
                                                    {(printf)}
                                                    {(SQ <"%s\\n">)}
                                                    {(DQ ($ VSub_Name "$OPTLERR"))}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_GreatAnd
                                                      fd: -1
                                                      arg_word: {(2)}
                                                      spids: [2671]
                                                    )
                                                  ]
                                                )
                                                (C {(eval)} {(DQ ($ VSub_Number "$7") ("='?'"))})
                                              ]
                                              spids: [2665 2666 2691 -1]
                                            )
                                          ]
                                          spids: [2634 2640 2694]
                                        )
                                      ]
                                      spids: [-1 2621]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:OPTLIND)
                                          op: Equal
                                          rhs: 
                                            {
                                              (ArithSubPart
                                                anode: 
                                                  (ArithBinary
                                                    op_id: Arith_Plus
                                                    left: (ArithWord w:{($ VSub_Name "$OPTLIND")})
                                                    right: (ArithWord w:{(Lit_Digits 1)})
                                                  )
                                                spids: [2701 2708]
                                              )
                                            }
                                          spids: [2700]
                                        )
                                      ]
                                      spids: [2700]
                                    )
                                    (C {(eval)} 
                                      {
                                        (DQ ("OPTLARG=") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\\"">
                                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{") 
                                          (ArithSubPart
                                            anode: 
                                              (ArithBinary
                                                op_id: Arith_Plus
                                                left: (ArithWord w:{($ VSub_Number "$5")})
                                                right: (ArithWord w:{(Lit_Digits 5)})
                                              )
                                            spids: [2718 2725]
                                          ) ("}") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                        )
                                      }
                                    )
                                    (C {(eval)} 
                                      {
                                        (DQ ($ VSub_Number "$7") ("=") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\\"">
                                          ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (2) 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\\"">
                                          )
                                        )
                                      }
                                    )
                                  ]
                                  spids: [2697 2743]
                                )
                              ]
                              spids: [2589 2594 2746 -1]
                            )
                            (case_arm
                              pat_list: [{(Lit_Other "*")}]
                              action: [
                                (C {(eval)} 
                                  {
                                    (DQ ($ VSub_Number "$7") ("=") 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\\"">
                                      ) (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (2) 
                                      (EscapedLiteralPart
                                        token: <Lit_EscapedChar "\\\"">
                                      )
                                    )
                                  }
                                )
                              ]
                              spids: [2749 2750 2773 -1]
                            )
                          ]
                          spids: [2580 2586 2776]
                        )
                      ]
                      spids: [2576 2577 2779 -1]
                    )
                  ]
                  spids: [2424 2430 2782]
                )
              ]
              spids: [1894 2785]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [72]
        )
      spids: [68 71]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Name "$test_getopts_long"))} {(Lit_Other "]")})
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (FuncDef
              name: test_getopts_long
              body: 
                (BraceGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:expected)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number "$1"))}
                          spids: [2820]
                        )
                        (assign_pair
                          lhs: (LhsName name:had)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [2825]
                        )
                      ]
                      spids: [2820]
                    )
                    (C {(shift)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OPTLIND)
                          op: Equal
                          rhs: {(1)}
                          spids: [2831]
                        )
                      ]
                      spids: [2831]
                    )
                    (While
                      cond: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:err)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (Sentence
                                              child: (C {(set)} {(Lit_Other "+") (x)})
                                              terminator: <Op_Semi ";">
                                            )
                                            (SimpleCommand
                                              words: [{(getopts_long)} {(DQ ($ VSub_At "$@"))}]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_GreatAnd
                                                  fd: 2
                                                  arg_word: {(1)}
                                                  spids: [2852]
                                                )
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: -1
                                                  arg_word: {(/dev/null)}
                                                  spids: [2855]
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub "$(">
                                      spids: [2840 2858]
                                    )
                                  )
                                }
                              spids: [2838]
                            )
                          ]
                          spids: [2838]
                        )
                        (Sentence
                          child: 
                            (SimpleCommand
                              words: [{(getopts_long)} {(DQ ($ VSub_At "$@"))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: 2
                                  arg_word: {(/dev/null)}
                                  spids: [2868]
                                )
                              ]
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      body: 
                        (DoGroup
                          children: [
                            (C {(eval)} 
                              {
                                (DQ ("opt=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\$">
                                  ) ($ VSub_Number "$2") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:had)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name "$had") ("|") ($ VSub_Name "$opt") ("@") 
                                        (BracedVarSub
                                          token: <VSub_Name OPTLARG>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VTest_Hyphen
                                              arg_word: {(unset)}
                                            )
                                          spids: [2893 2897]
                                        ) ("@") 
                                        (BracedVarSub
                                          token: <VSub_Name OPTLIND>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VTest_Hyphen
                                              arg_word: {(unset)}
                                            )
                                          spids: [2899 2903]
                                        ) ("@") 
                                        (BracedVarSub
                                          token: <VSub_Name OPTLERR>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VTest_Hyphen
                                              arg_word: {(unset)}
                                            )
                                          spids: [2905 2909]
                                        ) ("@") ($ VSub_Name "$err")
                                      )
                                    }
                                  spids: [2887]
                                )
                              ]
                              spids: [2887]
                            )
                          ]
                          spids: [2873 2915]
                        )
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:had)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name "$had") ("|") 
                                (BracedVarSub
                                  token: <VSub_Name OPTLIND>
                                  suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(unset)})
                                  spids: [2922 2926]
                                ) ("|") ($ VSub_Name "$err")
                              )
                            }
                          spids: [2918]
                        )
                      ]
                      spids: [2918]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$had"))} {(Lit_Other "=")} 
                                  {(DQ ($ VSub_Name "$expected"))} {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(echo)} {(PASS)})]
                          spids: [-1 2950]
                        )
                      ]
                      else_action: [
                        (C {(echo)} {(FAIL)})
                        (C {(printf)} {(SQ <"Expected: %s\\n     Got: %s\\n">)} 
                          {(DQ ($ VSub_Name "$expected"))} {(DQ ($ VSub_Name "$had"))}
                        )
                      ]
                      spids: [2958 2981]
                    )
                  ]
                  spids: [2817]
                )
              spids: [2813 2816]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (AndOr
                      children: [
                        (SimpleCommand
                          words: [{(read)} {(-r)} {(c)}]
                          more_env: [(env_pair name:IFS val:{(SQ )} spids:[2987])]
                        )
                        (SimpleCommand
                          words: [{(read)} {(-r)} {(e)}]
                          more_env: [(env_pair name:IFS val:{(SQ )} spids:[2997])]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  terminator: <Op_Semi ";">
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C {(printf)} {(SQ <"+ %-72s ">)} {(DQ ($ VSub_Name "$c"))})
                    (C {(eval)} 
                      {
                        (DQ ("test_getopts_long ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (e) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" ") ($ VSub_Name "$c")
                        )
                      }
                    )
                  ]
                  spids: [3006 3036]
                )
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {(": a\n") 
                      (
"|1|getopts_long: long option specifications must end in an empty argument\n"
                      ) (":a opt \"\" -a\n") ("|a@unset@2@unset@|2|\n") (":a opt \"\" -a b\n") ("|a@unset@2@unset@|2|\n") 
                      (":a opt \"\" -a -a\n") ("|a@unset@2@unset@|a@unset@3@unset@|3|\n") (":a opt \"\" -ab\n") 
                      ("|a@unset@1@unset@|:@b@2@bad option: `-b'@|2|\n") (":a: opt \"\" -ab\n") ("|a@b@2@unset@|2|\n") (":a: opt \"\" -a b\n") ("|a@b@3@unset@|3|\n") 
                      (":a: opt \"\" -a -a\n") ("|a@-a@3@unset@|3|\n") (":a: opt \"\" -a\n") ("|:@a@2@option `-a' requires an argument@|2|\n") 
                      (":a:: opt \"\" -a\n") ("|a@unset@2@unset@|2|\n") (":a:: opt \"\" -ab\n") ("|a@b@2@unset@|2|\n") (":a:: opt \"\" -a b\n") 
                      ("|a@unset@2@unset@|2|\n") (":ab: opt \"\" -ab c\n") ("|a@unset@1@unset@|b@c@3@unset@|3|\n") (":a:: opt \"\" -a -a\n") 
                      ("|a@unset@2@unset@|a@unset@3@unset@|3|\n") (":a:: opt \"\" -:a:\n") ("|:@:@1@bad option: `-:'@|a@:@2@unset@|2|\n") (":= opt \"\"\n") ("|1|\n") 
                      (":: opt \"\"\n") ("|1|getopts_long: invalid option specification: `::'\n") (": opt \"\"\n") ("|1|\n") 
                      (":a:a opt \"\" -a\n") ("|:@a@2@option `-a' requires an argument@|2|\n") (":a::a opt \"\" -a\n") ("|a@unset@2@unset@|2|\n") 
                      (":ab:c:: opt \"\" -abc -cba -bac\n") ("|a@unset@1@unset@|b@c@2@unset@|c@ba@3@unset@|b@ac@4@unset@|4|\n") (": opt abc 0 \"\" --abc\n") 
                      ("|abc@unset@2@unset@|2|\n") (": opt abc no_argument \"\" --abc\n") ("|abc@unset@2@unset@|2|\n") 
                      (": opt abc no_argument \"\" --abc=foo\n") ("|:@abc@2@option `--abc' doesn't allow an argument@|2|\n") (": opt abc no_argument \"\" --abc foo\n") 
                      ("|abc@unset@2@unset@|2|\n") (": opt abc 1 \"\" --abc=foo\n") ("|abc@foo@2@unset@|2|\n") 
                      (": opt abc required_argument \"\" --abc foo\n") ("|abc@foo@3@unset@|3|\n") (": opt abc required_argument \"\" --abc=\n") ("|abc@@2@unset@|2|\n") 
                      (": opt abc required_argument \"\" --abc\n") ("|:@abc@2@option `--abc' requires an argument@|2|\n") (": opt abc 2 \"\" --abc\n") 
                      ("|abc@unset@2@unset@|2|\n") (": opt abc optional_argument \"\" --abc=\n") ("|abc@@2@unset@|2|\n") 
                      (": opt abc optional_argument \"\" --abc=foo\n") ("|abc@foo@2@unset@|2|\n") (": opt abc optional_argument \"\" --abc --abc\n") 
                      ("|abc@unset@2@unset@|abc@unset@3@unset@|3|\n") (": opt abc 0 abcd 0 \"\" --abc\n") ("|abc@unset@2@unset@|2|\n") (": opt abc 0 abd 0 \"\" --ab\n") 
                      ("|:@ab@2@option `--ab' is ambiguous@|2|\n") (": opt abc 0 abcd 0 \"\" --ab\n") ("|:@ab@2@option `--ab' is ambiguous@|2|\n") 
                      (": opt abc 0 abc 1 \"\" --ab\n") ("|abc@unset@2@unset@|2|\n") (": opt abc 0 abc 1 \"\" --abc\n") ("|abc@unset@2@unset@|2|\n") 
                      (": opt abc 0 abc 1 \"\" --ab\n") ("|abc@unset@2@unset@|2|\n") (": opt abc 0 acd 0 \"\" --ab\n") ("|abc@unset@2@unset@|2|\n") 
                      (
":abc:d:e::f:: opt ab 0 ac 1 bc 2 cd 1 cde 2 \"\" -abcdef -a -f -c --a --a= --b=foo -fg\n"
                      ) 
                      (
"|a@unset@1@unset@|b@unset@1@unset@|c@def@2@unset@|a@unset@3@unset@|f@unset@4@unset@|c@--a@6@unset@|:@a@7@option `--a' is ambiguous@|bc@foo@8@unset@|f@g@9@unset@|9|\n"
                      ) ("a opt \"\" -a\n") ("|a@unset@2@unset@|2|\n") ("a opt \"\" -a b\n") ("|a@unset@2@unset@|2|\n") 
                      ("a opt \"\" -a -a\n") ("|a@unset@2@unset@|a@unset@3@unset@|3|\n") ("a opt \"\" -ab\n") 
                      ("|a@unset@1@unset@|?@unset@2@bad option: `-b'@bad option: `-b'|2|\n") ("a: opt \"\" -ab\n") ("|a@b@2@unset@|2|\n") ("a: opt \"\" -a b\n") ("|a@b@3@unset@|3|\n") 
                      ("a: opt \"\" -a -a\n") ("|a@-a@3@unset@|3|\n") ("a: opt \"\" -a\n") 
                      (
"|?@unset@2@option `-a' requires an argument@option `-a' requires an argument|2|\n"
                      ) ("a:: opt \"\" -a\n") ("|a@unset@2@unset@|2|\n") ("a:: opt \"\" -ab\n") ("|a@b@2@unset@|2|\n") 
                      ("a:: opt \"\" -a b\n") ("|a@unset@2@unset@|2|\n") ("a:: opt \"\" -a -a\n") ("|a@unset@2@unset@|a@unset@3@unset@|3|\n") 
                      ("a:: opt \"\" -:a:\n") ("|?@unset@1@bad option: `-:'@bad option: `-:'|a@:@2@unset@|2|\n") ("= opt \"\"\n") ("|1|\n") 
                      (": opt \"\"\n") ("|1|\n") ("'' opt \"\"\n") ("|1|\n") ("a:a opt \"\" -a\n") 
                      (
"|?@unset@2@option `-a' requires an argument@option `-a' requires an argument|2|\n"
                      ) ("a::a opt \"\" -a\n") ("|a@unset@2@unset@|2|\n") ("ab:c:: opt \"\" -abc -cba -bac\n") 
                      ("|a@unset@1@unset@|b@c@2@unset@|c@ba@3@unset@|b@ac@4@unset@|4|\n") ("'' opt abc 0 \"\" --abc\n") ("|abc@unset@2@unset@|2|\n") ("'' opt abc no_argument \"\" --abc\n") 
                      ("|abc@unset@2@unset@|2|\n") ("'' opt abc no_argument \"\" --abc=foo\n") 
                      (
"|?@unset@2@option `--abc' doesn't allow an argument@option `--abc' doesn't allow an argument|2|\n"
                      ) ("'' opt abc no_argument \"\" --abc foo\n") ("|abc@unset@2@unset@|2|\n") 
                      ("'' opt abc 1 \"\" --abc=foo\n") ("|abc@foo@2@unset@|2|\n") ("'' opt abc required_argument \"\" --abc foo\n") ("|abc@foo@3@unset@|3|\n") 
                      ("'' opt abc required_argument \"\" --abc=\n") ("|abc@@2@unset@|2|\n") ("'' opt abc required_argument \"\" --abc\n") 
                      (
"|?@unset@2@option `--abc' requires an argument@option `--abc' requires an argument|2|\n"
                      ) ("'' opt abc 2 \"\" --abc\n") ("|abc@unset@2@unset@|2|\n") 
                      ("'' opt abc optional_argument \"\" --abc=\n") ("|abc@@2@unset@|2|\n") ("'' opt abc optional_argument \"\" --abc=foo\n") ("|abc@foo@2@unset@|2|\n") 
                      ("'' opt abc optional_argument \"\" --abc --abc\n") ("|abc@unset@2@unset@|abc@unset@3@unset@|3|\n") ("'' opt abc 0 abcd 0 \"\" --abc\n") 
                      ("|abc@unset@2@unset@|2|\n") ("'' opt abc 0 abd 0 \"\" --ab\n") 
                      ("|?@unset@2@option `--ab' is ambiguous@option `--ab' is ambiguous|2|\n") ("'' opt abc 0 abcd 0 \"\" --ab\n") 
                      ("|?@unset@2@option `--ab' is ambiguous@option `--ab' is ambiguous|2|\n") ("'' opt abc 0 abc 1 \"\" --ab\n") ("|abc@unset@2@unset@|2|\n") ("'' opt abc 0 abc 1 \"\" --abc\n") 
                      ("|abc@unset@2@unset@|2|\n") ("'' opt abc 0 abc 1 \"\" --ab\n") ("|abc@unset@2@unset@|2|\n") ("'' opt abc 0 acd 0 \"\" --ab\n") 
                      ("|abc@unset@2@unset@|2|\n") ("abc:d:e::f:: opt ab 0 ac 1 bc 2 cd 1 cde 2 \"\" -abcdef -a -f -c --a --a= --b=foo -fg\n") 
                      (
"|a@unset@1@unset@|b@unset@1@unset@|c@def@2@unset@|a@unset@3@unset@|f@unset@4@unset@|c@--a@6@unset@|?@unset@7@option `--a' is ambiguous@option `--a' is ambiguous|bc@foo@8@unset@|f@g@9@unset@|9|\n"
                      ) (": '' '' a\n") ("|1|getopts_long: invalid variable name: `'\n") (": 1a ''\n") 
                      ("|1|getopts_long: invalid variable name: `1a'\n") ("- a\n") ("|1|getopts_long: invalid option specification: `-'\n") 
                      (":a::a:abcd o ab 1 abc 1 abd 1 abe 1 abc 2 '' -aa --ab 1 --abc\n") ("|a@a@2@unset@|ab@1@4@unset@|:@abc@5@option `--abc' requires an argument@|5|\n") (":\n") 
                      ("|1|getopts_long: not enough arguments\n") ("'\\[$' o -- 0 ' ' 1 '#' required_argument '' '-\\\\\\[$' --\\ =a --\\#=\\$\\$\n") 
                      (
"|\\@unset@1@unset@|\\@unset@1@unset@|\\@unset@1@unset@|[@unset@1@unset@|$@unset@2@unset@| @a@3@unset@|#@$$@4@unset@|4|\n"
                      ) (": o a 1 b 2 c\n") ("|1|getopts_long: long option specifications must end in an empty argument\n") 
                      (": o a 1 b 2\n") ("|1|getopts_long: long option specifications must end in an empty argument\n") 
                      (": o a 1 b 2 c 3 '' --c\n") ("|1|getopts_long: invalid long option type: `3'\n") ("\":  \" o \"  \" 1 '' \"-  \" \"--  =1\"\n") 
                      ("| @unset@1@unset@| @unset@2@unset@|  @1@3@unset@|3|\n") (": o a 1 '' --c\n") ("|:@c@2@bad option: `--c'@|2|\n") (": o a 1 '' --c=foo\n") 
                      ("|:@c@2@bad option: `--c'@|2|\n") (": o ab 1 ac 1 ad 1 a 1 '' --a=1\n") ("|a@1@2@unset@|2|\n")
                    }
                  do_expansion: False
                  here_end: EOF
                  was_filled: True
                  spids: [3038]
                )
              ]
            )
          ]
          spids: [-1 2811]
        )
      ]
      spids: [-1 3043]
    )
  ]
)