(CommandList
  children: [
    (C {(set)} {(-e)})
    (FuncDef
      name: check
      body: 
        (BraceGroup
          children: [
            (C {(awk)} 
              {
                (DQ ('\n') ('BEGIN { saw1 = 0; saw2 = 0; err = 0; }\n') ('/.*') ($ VSub_Number '$2') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('/ { saw1 = 1; }\n') ('/.*') ($ VSub_Number '$3') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                  ('/ {\n') ('     saw2 = 1;\n') ('     if (!saw1)\n') ('       {\n') ('\t  printf ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('layout of ') ($ VSub_Number '$2') (' and ') ($ VSub_Number '$3') (' is not right') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (';\n') ('\t  err = 1;\n') ('\t  exit 1;\n') 
                  ('       }\n') ('    }\n') ('END {\n') ('      if (!saw1 && !err)\n') ('        {\n') ('\t  printf ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('did not see ') ($ VSub_Number '$2') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (';\n') ('\t  exit 1;\n') ('\t}\n') ('      if (!saw2 && !err)\n') ('\t{\n') ('\t  printf ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('did not see ') ($ VSub_Number '$3') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (';\n') ('\t  exit 1;\n') ('\t}\n') ('    }')
                )
              } {($ VSub_Number '$1')}
            )
          ]
          spids: [75]
        )
      spids: [71 74]
    )
    (FuncDef
      name: check_unique_segment
      body: 
        (BraceGroup
          children: [
            (C {(awk)} 
              {
                (DQ ('\n') ('BEGIN { saw_section = 0; saw_unique = 0; }\n') (/) ($ VSub_Number '$2') 
                  ('/ { saw_section = 1; }\n') ('/[ ]*0[0-9][ ]*') ($ VSub_Number '$2') ('[ ]*') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                  ('/ { saw_unique = 1; }\n') ('END {\n') ('      if (!saw_section)\n') ('\t{\n') ('\t  printf ') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ('Section ') ($ VSub_Number '$2') (' not seen in output') 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (';\n') ('\t  exit 1;\n') ('\t}\n') 
                  ('      else if (!saw_unique)\n') ('\t{\n') ('\t  printf ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                  ('Unique segment not seen for: ') ($ VSub_Number '$2') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n) 
                  (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (';\n') ('\t  exit 1;\n') ('\t}\n') ('    }')
                )
              } {($ VSub_Number '$1')}
            )
          ]
          spids: [173]
        )
      spids: [169 172]
    )
    (C {(check)} {(plugin_final_layout.stdout)} {(DQ (_Z3foov))} {(DQ (_Z3barv))})
    (C {(check)} {(plugin_final_layout.stdout)} {(DQ (_Z3barv))} {(DQ (_Z3bazv))})
    (C {(check_unique_segment)} {(plugin_final_layout_readelf.stdout)} 
      {(DQ (.text.plugin_created_unique))}
    )
  ]
)