(command.CommandList
  children: [
    (C {<.>} {<'/lib/svc/share/smf_include.sh'>})
    (C {<.>} {<'/lib/svc/share/ipf_include.sh'>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'YPDIR='> name:YPDIR)
          op: assign_op.Equal
          rhs: {<'/usr/lib/netsvc/yp'>}
          spids: [85]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: create_client_ipf_rules
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FMRI='> name:FMRI)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                  spids: [96]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file='> name:file)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (C {<fmri_to_file>} {($ Id.VSub_DollarName FMRI)} 
                            {($ Id.VSub_DollarName IPF_SUFFIX)}
                          )
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                  spids: [100]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'file6='> name:file6)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (C {<fmri_to_file>} {($ Id.VSub_DollarName FMRI)} 
                            {($ Id.VSub_DollarName IPF6_SUFFIX)}
                          )
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                  spids: [112]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'iana_name='> name:iana_name)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (C {<svcprop>} {<-p>} {($ Id.VSub_DollarName FW_CONTEXT_PG) <'/name'>} 
                            {($ Id.VSub_DollarName FMRI)}
                          )
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                  spids: [124]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'domain='> name:domain)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: (C {<domainname>})
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                  spids: [139]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'block_policy='> name:block_policy)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName GLOBAL_BLOCK_POLICY)}
                  spids: [147]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName block_policy))} 
                              {<Id.Lit_Equals '='>} {(DQ <return>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'block_policy_tcp='>
                              name: block_policy_tcp
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <return-rst>)}
                          spids: [172]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'block_policy_udp='>
                              name: block_policy_udp
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <return-icmp-as-dest>)}
                          spids: [178]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [152 169]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName domain))} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})]
                  spids: [188 201]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} 
                              {<'/var/yp/binding/'> ($ Id.VSub_DollarName domain)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)]
                  spids: [213 227]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.Simple
              words: [{<echo>} {(DQ <'# '> ($ Id.VSub_DollarName FMRI))}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName file)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<echo>} {(DQ <'# '> ($ Id.VSub_DollarName FMRI))}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName file6)}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ypfile='> name:ypfile)
                  op: assign_op.Equal
                  rhs: {(DQ <'/var/yp/binding/'> ($ Id.VSub_DollarName domain) <'/ypservers'>)}
                  spids: [259]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName ypfile)} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tports='> name:tports)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Simple
                                    words: [
                                      {($ Id.VSub_DollarName SERVINFO)}
                                      {<-R>}
                                      {<-p>}
                                      {<-t>}
                                      {<-s>}
                                      {($ Id.VSub_DollarName iana_name)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_Great '2>'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<'/dev/null'>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Backtick_Right '`'>
                              )
                            }
                          spids: [281]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'uports='> name:uports)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Simple
                                    words: [
                                      {($ Id.VSub_DollarName SERVINFO)}
                                      {<-R>}
                                      {<-p>}
                                      {<-u>}
                                      {<-s>}
                                      {($ Id.VSub_DollarName iana_name)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_Great '2>'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<'/dev/null'>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Backtick_Right '`'>
                              )
                            }
                          spids: [302]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tports_6='> name:tports_6)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Simple
                                    words: [
                                      {($ Id.VSub_DollarName SERVINFO)}
                                      {<-R>}
                                      {<-p>}
                                      {<-t6>}
                                      {<-s>}
                                      {($ Id.VSub_DollarName iana_name)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_Great '2>'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<'/dev/null'>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Backtick_Right '`'>
                              )
                            }
                          spids: [323]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'uports_6='> name:uports_6)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (command.Simple
                                    words: [
                                      {($ Id.VSub_DollarName SERVINFO)}
                                      {<-R>}
                                      {<-p>}
                                      {<-u6>}
                                      {<-s>}
                                      {($ Id.VSub_DollarName iana_name)}
                                    ]
                                    redirects: [
                                      (redir
                                        op: <Id.Redir_Great '2>'>
                                        loc: (redir_loc.Fd fd:2)
                                        arg: {<'/dev/null'>}
                                      )
                                    ]
                                    more_env: []
                                    do_fork: T
                                  )
                                right: <Id.Backtick_Right '`'>
                              )
                            }
                          spids: [344]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'server_addrs='>
                              name: server_addrs
                            )
                          op: assign_op.Equal
                          rhs: {(DQ )}
                          spids: [366]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'server_addrs_6='>
                              name: server_addrs_6
                            )
                          op: assign_op.Equal
                          rhs: {(DQ )}
                          spids: [371]
                        )
                      ]
                      redirects: []
                    )
                    (command.ForEach
                      iter_names: [ypsvr]
                      iterable: 
                        (for_iter.Words
                          words: [
                            {
                              (command_sub
                                left_token: <Id.Left_Backtick '`'>
                                child: 
                                  (C {<grep>} {<-v>} {(SQ <'^[ ]*#'>)} {($ Id.VSub_DollarName ypfile)})
                                right: <Id.Backtick_Right '`'>
                              )
                            }
                          ]
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'servers='>
                                      name: servers
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_Backtick '`'>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<getent>} {<ipnodes>} {($ Id.VSub_DollarName ypsvr)})
                                              (C {<'/usr/xpg4/bin/awk'>} 
                                                {(SQ <'$1 ~ !/:/{ print $1 }'>)}
                                              )
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Backtick_Right '`'>
                                      )
                                    }
                                  spids: [412]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'servers_6='>
                                      name: servers_6
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_Backtick '`'>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<getent>} {<ipnodes>} {($ Id.VSub_DollarName ypsvr)})
                                              (C {<'/usr/xpg4/bin/awk'>} {(SQ <'$1 ~ /:/{ print $1 }'>)})
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Backtick_Right '`'>
                                      )
                                    }
                                  spids: [437]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} {<-n>} 
                                              {(DQ ($ Id.VSub_DollarName servers))} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'server_addrs='>
                                              name: server_addrs
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName server_addrs) <' '> 
                                                ($ Id.VSub_DollarName servers)
                                              )
                                            }
                                          spids: [479]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [463 476]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} {<-n>} 
                                              {(DQ ($ Id.VSub_DollarName servers_6))} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'server_addrs_6='>
                                              name: server_addrs_6
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName server_addrs_6) <' '> 
                                                ($ Id.VSub_DollarName servers_6)
                                              )
                                            }
                                          spids: [507]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [491 504]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-n>} 
                                      {(DQ ($ Id.VSub_DollarName tports))} {<-o>} {<-n>} {(DQ ($ Id.VSub_DollarName tports_6))} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ForEach
                              iter_names: [tport]
                              iterable: 
                                (for_iter.Words
                                  words: [
                                    {($ Id.VSub_DollarName tports)}
                                    {($ Id.VSub_DollarName tports_6)}
                                  ]
                                )
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.Simple
                                      words: [
                                        {<echo>}
                                        {
                                          (DQ <'block '> ($ Id.VSub_DollarName block_policy_tcp) 
                                            <' in log'>
                                          )
                                        }
                                        {(DQ <'proto tcp from any to any'>)}
                                        {(DQ <'port = '> ($ Id.VSub_DollarName tport))}
                                      ]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_DGreat '>>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {($ Id.VSub_DollarName file)}
                                        )
                                      ]
                                      more_env: []
                                      do_fork: T
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<Id.Lit_LBracket '['>} {<-n>} 
                                                      {(DQ ($ Id.VSub_DollarName server_addrs))} {<Id.Lit_RBracket ']'>}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ForEach
                                              iter_names: [s]
                                              iterable: 
                                                (for_iter.Words
                                                  words: [{($ Id.VSub_DollarName server_addrs)}]
                                                )
                                              body: 
                                                (command.DoGroup
                                                  children: [
                                                    (command.Simple
                                                      words: [
                                                        {<echo>}
                                                        {(DQ <'pass in log quick'>)}
                                                        {
                                                          (DQ <'proto tcp from '> 
                                                            ($ Id.VSub_DollarName s)
                                                          )
                                                        }
                                                        {
                                                          (DQ <'to any port = '> 
                                                            ($ Id.VSub_DollarName tport)
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_DGreat '>>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {($ Id.VSub_DollarName file)}
                                                        )
                                                      ]
                                                      more_env: []
                                                      do_fork: T
                                                    )
                                                  ]
                                                )
                                              redirects: []
                                            )
                                          ]
                                          spids: [585 598]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                )
                              redirects: []
                            )
                          ]
                          spids: [522 543]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-n>} 
                                      {(DQ ($ Id.VSub_DollarName uports))} {<-o>} {<-n>} {(DQ ($ Id.VSub_DollarName uports_6))} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ForEach
                              iter_names: [uport]
                              iterable: 
                                (for_iter.Words
                                  words: [
                                    {($ Id.VSub_DollarName uports)}
                                    {($ Id.VSub_DollarName uports_6)}
                                  ]
                                )
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.Simple
                                      words: [
                                        {<echo>}
                                        {
                                          (DQ <'block '> ($ Id.VSub_DollarName block_policy_udp) 
                                            <' in log'>
                                          )
                                        }
                                        {(DQ <'proto udp from any to any'>)}
                                        {(DQ <'port = '> ($ Id.VSub_DollarName uport))}
                                      ]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_DGreat '>>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {($ Id.VSub_DollarName file)}
                                        )
                                      ]
                                      more_env: []
                                      do_fork: T
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<Id.Lit_LBracket '['>} {<-n>} 
                                                      {(DQ ($ Id.VSub_DollarName server_addrs))} {<Id.Lit_RBracket ']'>}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ForEach
                                              iter_names: [s]
                                              iterable: 
                                                (for_iter.Words
                                                  words: [{($ Id.VSub_DollarName server_addrs)}]
                                                )
                                              body: 
                                                (command.DoGroup
                                                  children: [
                                                    (command.Simple
                                                      words: [
                                                        {<echo>}
                                                        {(DQ <'pass in log quick'>)}
                                                        {
                                                          (DQ <'proto udp from '> 
                                                            ($ Id.VSub_DollarName s)
                                                          )
                                                        }
                                                        {
                                                          (DQ <'to any port = '> 
                                                            ($ Id.VSub_DollarName uport)
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_DGreat '>>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {($ Id.VSub_DollarName file)}
                                                        )
                                                      ]
                                                      more_env: []
                                                      do_fork: T
                                                    )
                                                  ]
                                                )
                                              redirects: []
                                            )
                                          ]
                                          spids: [715 728]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                )
                              redirects: []
                            )
                          ]
                          spids: [652 673]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-n>} 
                                      {(DQ ($ Id.VSub_DollarName tports_6))} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ForEach
                              iter_names: [tport]
                              iterable: (for_iter.Words words:[{($ Id.VSub_DollarName tports_6)}])
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.Simple
                                      words: [
                                        {<echo>}
                                        {
                                          (DQ <'block '> ($ Id.VSub_DollarName block_policy_tcp) 
                                            <' in log'>
                                          )
                                        }
                                        {(DQ <'proto tcp from any to any'>)}
                                        {(DQ <'port = '> ($ Id.VSub_DollarName tport))}
                                      ]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_DGreat '>>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {($ Id.VSub_DollarName file6)}
                                        )
                                      ]
                                      more_env: []
                                      do_fork: T
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<Id.Lit_LBracket '['>} {<-n>} 
                                                      {(DQ ($ Id.VSub_DollarName server_addrs_6))} {<Id.Lit_RBracket ']'>}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ForEach
                                              iter_names: [s]
                                              iterable: 
                                                (for_iter.Words
                                                  words: [{($ Id.VSub_DollarName server_addrs_6)}]
                                                )
                                              body: 
                                                (command.DoGroup
                                                  children: [
                                                    (command.Simple
                                                      words: [
                                                        {<echo>}
                                                        {(DQ <'pass in log quick'>)}
                                                        {
                                                          (DQ <'proto tcp from '> 
                                                            ($ Id.VSub_DollarName s)
                                                          )
                                                        }
                                                        {
                                                          (DQ <'to any port = '> 
                                                            ($ Id.VSub_DollarName tport)
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_DGreat '>>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {($ Id.VSub_DollarName file6)}
                                                        )
                                                      ]
                                                      more_env: []
                                                      do_fork: T
                                                    )
                                                  ]
                                                )
                                              redirects: []
                                            )
                                          ]
                                          spids: [835 848]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                )
                              redirects: []
                            )
                          ]
                          spids: [782 795]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-n>} 
                                      {(DQ ($ Id.VSub_DollarName uports_6))} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ForEach
                              iter_names: [uport]
                              iterable: (for_iter.Words words:[{($ Id.VSub_DollarName uports_6)}])
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.Simple
                                      words: [
                                        {<echo>}
                                        {
                                          (DQ <'block '> ($ Id.VSub_DollarName block_policy_udp) 
                                            <' in log'>
                                          )
                                        }
                                        {(DQ <'proto udp from any to any'>)}
                                        {(DQ <'port = '> ($ Id.VSub_DollarName uport))}
                                      ]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_DGreat '>>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {($ Id.VSub_DollarName file6)}
                                        )
                                      ]
                                      more_env: []
                                      do_fork: T
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<Id.Lit_LBracket '['>} {<-n>} 
                                                      {(DQ ($ Id.VSub_DollarName server_addrs_6))} {<Id.Lit_RBracket ']'>}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ForEach
                                              iter_names: [s]
                                              iterable: 
                                                (for_iter.Words
                                                  words: [{($ Id.VSub_DollarName server_addrs_6)}]
                                                )
                                              body: 
                                                (command.DoGroup
                                                  children: [
                                                    (command.Simple
                                                      words: [
                                                        {<echo>}
                                                        {(DQ <'pass in log quick'>)}
                                                        {
                                                          (DQ <'proto udp from '> 
                                                            ($ Id.VSub_DollarName s)
                                                          )
                                                        }
                                                        {
                                                          (DQ <'to any port = '> 
                                                            ($ Id.VSub_DollarName uport)
                                                          )
                                                        }
                                                      ]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_DGreat '>>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: {($ Id.VSub_DollarName file6)}
                                                        )
                                                      ]
                                                      more_env: []
                                                      do_fork: T
                                                    )
                                                  ]
                                                )
                                              redirects: []
                                            )
                                          ]
                                          spids: [955 968]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                )
                              redirects: []
                            )
                          ]
                          spids: [902 915]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [267 278]
                )
              ]
              else_action: [
                (command.Simple
                  words: [
                    {<echo>}
                    {(DQ <'pass in log quick proto udp from any to any'>)}
                    {(DQ <'port > 32768'>)}
                  ]
                  redirects: [
                    (redir
                      op: <Id.Redir_DGreat '>>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName file)}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
                (command.Simple
                  words: [
                    {<echo>}
                    {(DQ <'pass in log quick proto udp from any to any'>)}
                    {(DQ <'port > 32768'>)}
                  ]
                  redirects: [
                    (redir
                      op: <Id.Redir_DGreat '>>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName file6)}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_Number 1))} {<-a>} 
                      {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <ipfilter>)} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<create_client_ipf_rules>} {($ Id.VSub_Number 2)})
            (command.ControlFlow
              token: <Id.ControlFlow_Exit exit>
              arg_word: {($ Id.VSub_DollarName SMF_EXIT_OK)}
            )
          ]
          spids: [1106 1131]
        )
      ]
      else_action: []
      redirects: []
    )
    (command.Case
      to_match: {($ Id.VSub_DollarName SMF_FMRI)}
      arms: [
        (case_arm
          pat_list: [{(SQ <'svc:/network/nis/client:default'>)}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'domain='> name:domain)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: (C {<domainname>})
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                  spids: [1159]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName domain))} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} {(DQ ($ Id.VSub_Number 0) <': domainname not set'>)})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)}
                    )
                  ]
                  spids: [1168 1181]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} 
                              {<'/var/yp/binding/'> ($ Id.VSub_DollarName domain)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} 
                      {
                        (DQ ($ Id.VSub_Number 0) <': /var/yp/binding/'> ($ Id.VSub_DollarName domain) 
                          <' is not a directory'>
                        )
                      }
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)}
                    )
                  ]
                  spids: [1201 1215]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              words: [
                                {<pgrep>}
                                {<-z>}
                                {
                                  (command_sub
                                    left_token: <Id.Left_Backtick '`'>
                                    child: (C {<'/sbin/zonename'>})
                                    right: <Id.Backtick_Right '`'>
                                  )
                                }
                                {<ypbind>}
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} {(DQ ($ Id.VSub_Number 0) <': ypbind is already running.'>)})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)}
                    )
                  ]
                  spids: [1241 1259]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-f>} 
                              {<'/var/yp/binding/'> ($ Id.VSub_DollarName domain) <'/ypservers'>} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Simple
                      words: [{($ Id.VSub_DollarName YPDIR) <'/ypbind'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                        (redir
                          op: <Id.Redir_GreatAnd '2>&'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<1>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [1279 1292]
                )
              ]
              else_action: [
                (command.Simple
                  words: [{($ Id.VSub_DollarName YPDIR) <'/ypbind'>} {<-broadcast>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {<'/dev/null'>}
                    )
                    (redir
                      op: <Id.Redir_GreatAnd '2>&'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<1>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rc='> name:rc)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [1326]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName rc)} 
                              {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} 
                      {(DQ ($ Id.VSub_Number 0) <': ypbind failed with '> ($ Id.VSub_DollarName rc))}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [1330 1344]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          spids: [1153 1156 1364 -1]
        )
        (case_arm
          pat_list: [{(SQ <'svc:/network/nis/server:default'>)}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'domain='> name:domain)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        child: (C {<domainname>})
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                  spids: [1374]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName domain))} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} {(DQ ($ Id.VSub_Number 0) <': domainname not set'>)})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)}
                    )
                  ]
                  spids: [1383 1396]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} 
                              {<'/var/yp/'> ($ Id.VSub_DollarName domain)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} {(DQ ($ Id.VSub_Number 0) <': domain directory missing'>)})
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)}
                    )
                  ]
                  spids: [1416 1430]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-f>} {<'/etc/resolv.conf'>} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {($ Id.VSub_DollarName YPDIR) <'/ypserv'>} {<-d>})]
                  spids: [1450 1461]
                )
              ]
              else_action: [(C {($ Id.VSub_DollarName YPDIR) <'/ypserv'>})]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rc='> name:rc)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [1481]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName rc)} 
                              {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} 
                      {(DQ ($ Id.VSub_Number 0) <': ypserv failed with '> ($ Id.VSub_DollarName rc))}
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [1485 1499]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          spids: [1368 1371 1519 -1]
        )
        (case_arm
          pat_list: [{(SQ <'svc:/network/nis/passwd:default'>)}]
          action: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PWDIR='> name:PWDIR)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: <Id.Left_Backtick '`'>
                            child: 
                              (command.Simple
                                words: [{<grep>} {(DQ <'^PWDIR'>)} {<'/var/yp/Makefile'>}]
                                redirects: [
                                  (redir
                                    op: <Id.Redir_Great '2>'>
                                    loc: (redir_loc.Fd fd:2)
                                    arg: {<'/dev/null'>}
                                  )
                                ]
                                more_env: []
                                do_fork: T
                              )
                            right: <Id.Backtick_Right '`'>
                          )
                        }
                      spids: [1529]
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PWDIR='> name:PWDIR)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (command_sub
                            left_token: <Id.Left_Backtick '`'>
                            child: 
                              (C {<expr>} {(DQ ($ Id.VSub_DollarName PWDIR))} {<Id.Lit_Colon ':'>} 
                                {(SQ <'.*=[ \t]*\\([^ \t]*\\)'>)}
                              )
                            right: <Id.Backtick_Right '`'>
                          )
                        }
                      spids: [1550]
                    )
                  ]
                  redirects: []
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName PWDIR))} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName PWDIR))} 
                                      {<Id.Lit_Equals '='>} {(DQ <'/etc'>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<unset>} {<PWDIR>})]
                          spids: [1586 1603]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PWDIR='> name:PWDIR)
                              op: assign_op.Equal
                              rhs: {(DQ <'-D '> ($ Id.VSub_DollarName PWDIR))}
                              spids: [1614]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [1572 1583]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {($ Id.VSub_DollarName YPDIR) <'/rpc.yppasswdd'>} {($ Id.VSub_DollarName PWDIR)} {<-m>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rc='> name:rc)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [1636]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName rc)} 
                              {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} 
                      {
                        (DQ ($ Id.VSub_Number 0) <': rpc.yppasswdd failed with '> 
                          ($ Id.VSub_DollarName rc)
                        )
                      }
                    )
                    (command.ControlFlow
                      token: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [1640 1654]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          spids: [1523 1526 1674 -1]
        )
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (C {<echo>} 
              {
                (DQ ($ Id.VSub_Number 0) <': Unknown service '> 
                  (word_part.EscapedLiteral
                    token: <Id.Lit_EscapedChar '\\"'>
                    ch: '"'
                  ) ($ Id.VSub_DollarName SMF_FMRI) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <.>
                )
              }
            )
            (command.ControlFlow
              token: <Id.ControlFlow_Exit exit>
              arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_CONFIG)}
            )
          ]
          spids: [1678 1679 1699 -1]
        )
      ]
      redirects: []
    )
    (command.ControlFlow
      token: <Id.ControlFlow_Exit exit>
      arg_word: {($ Id.VSub_DollarName SMF_EXIT_OK)}
    )
  ]
)