<results>
      <div
           class="af_table"
           id="mainId"
          >
        
        <table
             border="0"
             cellpadding="0"
             cellspacing="0"
             role="presentation"
            >
          
          <tr
              >
            
            <td
                >
              
              <table
                   border="0"
                   cellpadding="0"
                   cellspacing="0"
                   class="af_table_control-bar-top"
                   role="presentation"
                   width="100%"
                  >
                
                <tr
                    >
                  
                  <td
                       width="100%"
                      >
                    
                  </td>
                  <td
                       align="right"
                       valign="middle"
                      >
                    
                    <table
                         border="0"
                         cellpadding="0"
                         cellspacing="0"
                         id="mainId-nb"
                         role="presentation"
                        >
                      
                      <tr
                          >
                        
                        <td
                             nowrap="nowrap"
                             valign="middle"
                            >
                          
                          <span
                               class="OraNavBarInactiveLink"
                              >
                            Previous
                          </span>
                        </td>
                        <td
                            >
                          
                          <img
                               height="1"
                               width="5"
                               src="uri-attr:encoded-resource-url:/test-context-path/adf/images/t.gif"
                              >
                            
                          </img>
                        </td>
                        <td
                             nowrap="nowrap"
                             valign="middle"
                            >
                          
                          <select
                               class="AFFieldText"
                               id="mainId-nb__xc_c"
                               onchange="_navChoiceSubmit(this, 'formId','goto','mainId',1)"
                               onfocus="this._lastValue = this.selectedIndex"
                               title="Select record set"
                              >
                            
                            <option
                                 value="all"
                                >
                              Show All 6
                            </option>
                            <option
                                 selected="selected"
                                 value="1"
                                >
                              1-3 of 6
                            </option>
                            <option
                                 value="4"
                                >
                              4-6 of 6
                            </option>
                          </select>
                          <script
                              >
                            _setSelectIndexById("mainId-nb__xc_c",1)
                          </script>
                        </td>
                        <td
                            >
                          
                          <img
                               height="1"
                               width="5"
                               src="uri-attr:encoded-resource-url:/test-context-path/adf/images/t.gif"
                              >
                            
                          </img>
                        </td>
                        <td
                             nowrap="nowrap"
                             valign="middle"
                            >
                          
                          <a
                               class="OraNavBarActiveLink"
                               onclick="_navSubmit('formId', 'goto', 'mainId',1,'4');return false"
                               href="uri-attr:#"
                              >
                            Next 3
                          </a>
                        </td>
                      </tr>
                    </table>
                  </td>
                </tr>
              </table>
            </td>
          </tr>
          <tr
              >
            
            <td
                >
              
              <table
                   border="0"
                   cellpadding="1"
                   cellspacing="0"
                   class="af_table_content"
                   width="100%"
                  >
                
                <tr
                    >
                  
                  <th
                       class="af_column_header-icon-format"
                       nowrap="nowrap"
                       scope="col"
                       width="1%"
                      >
                    Select
                  </th>
                  <th
                       class="af_column_header-text OraTableBorder0001"
                       scope="col"
                      >
                    StringHeader
                  </th>
                </tr>
                <tr
                    >
                  
                  <td
                       class="af_tableSelectOne_cell-icon-format OraTableBorder1111"
                      >
                    
                    <input
                         id="mainId:0"
                         name="mainId:selected"
                         title="Select"
                         type="radio"
                         value="0"
                        >
                      
                    </input>
                  </td>
                  <td
                       class="af_column_cell-text OraTableBorder1111"
                      >
                    First
                  </td>
                </tr>
                <tr
                    >
                  
                  <td
                       class="af_tableSelectOne_cell-icon-format OraTableBorder1111"
                      >
                    
                    <input
                         id="mainId:1"
                         name="mainId:selected"
                         title="Select"
                         type="radio"
                         value="1"
                        >
                      
                    </input>
                  </td>
                  <td
                       class="af_column_cell-text OraTableBorder1111"
                      >
                    Second
                  </td>
                </tr>
                <tr
                    >
                  
                  <td
                       class="af_tableSelectOne_cell-icon-format OraTableBorder1111"
                      >
                    
                    <input
                         id="mainId:2"
                         name="mainId:selected"
                         title="Select"
                         type="radio"
                         value="2"
                        >
                      
                    </input>
                  </td>
                  <td
                       class="af_column_cell-text OraTableBorder1111"
                      >
                    Three
                  </td>
                </tr>
              </table>
            </td>
          </tr>
        </table>
        <script
            >
          _uixt_mainId=new CollectionComponent('formId','mainId');
        </script>
        <input
             name="mainId:rangeStart"
             type="hidden"
             value="0"
            >
          
        </input>
      </div>
<!--AttributeTest[autoSubmit,false]-->

      <div
           class="af_table"
           id="mainId"
          >
        
        <table
             border="0"
             cellpadding="0"
             cellspacing="0"
             role="presentation"
            >
          
          <tr
              >
            
            <td
                >
              
              <table
                   border="0"
                   cellpadding="0"
                   cellspacing="0"
                   class="af_table_control-bar-top"
                   role="presentation"
                   width="100%"
                  >
                
                <tr
                    >
                  
                  <td
                       width="100%"
                      >
                    
                  </td>
                  <td
                       align="right"
                       valign="middle"
                      >
                    
                    <table
                         border="0"
                         cellpadding="0"
                         cellspacing="0"
                         id="mainId-nb"
                         role="presentation"
                        >
                      
                      <tr
                          >
                        
                        <td
                             nowrap="nowrap"
                             valign="middle"
                            >
                          
                          <span
                               class="OraNavBarInactiveLink"
                              >
                            Previous
                          </span>
                        </td>
                        <td
                            >
                          
                          <img
                               height="1"
                               width="5"
                               src="uri-attr:encoded-resource-url:/test-context-path/adf/images/t.gif"
                              >
                            
                          </img>
                        </td>
                        <td
                             nowrap="nowrap"
                             valign="middle"
                            >
                          
                          <select
                               class="AFFieldText"
                               id="mainId-nb__xc_c"
                               onchange="_navChoiceSubmit(this, 'formId','goto','mainId',1)"
                               onfocus="this._lastValue = this.selectedIndex"
                               title="Select record set"
                              >
                            
                            <option
                                 value="all"
                                >
                              Show All 6
                            </option>
                            <option
                                 selected="selected"
                                 value="1"
                                >
                              1-3 of 6
                            </option>
                            <option
                                 value="4"
                                >
                              4-6 of 6
                            </option>
                          </select>
                          <script
                              >
                            _setSelectIndexById("mainId-nb__xc_c",1)
                          </script>
                        </td>
                        <td
                            >
                          
                          <img
                               height="1"
                               width="5"
                               src="uri-attr:encoded-resource-url:/test-context-path/adf/images/t.gif"
                              >
                            
                          </img>
                        </td>
                        <td
                             nowrap="nowrap"
                             valign="middle"
                            >
                          
                          <a
                               class="OraNavBarActiveLink"
                               onclick="_navSubmit('formId', 'goto', 'mainId',1,'4');return false"
                               href="uri-attr:#"
                              >
                            Next 3
                          </a>
                        </td>
                      </tr>
                    </table>
                  </td>
                </tr>
              </table>
            </td>
          </tr>
          <tr
              >
            
            <td
                >
              
              <table
                   border="0"
                   cellpadding="1"
                   cellspacing="0"
                   class="af_table_content"
                   width="100%"
                  >
                
                <tr
                    >
                  
                  <th
                       class="af_column_header-icon-format"
                       nowrap="nowrap"
                       scope="col"
                       width="1%"
                      >
                    Select
                  </th>
                  <th
                       class="af_column_header-text OraTableBorder0001"
                       scope="col"
                      >
                    StringHeader
                  </th>
                </tr>
                <tr
                    >
                  
                  <td
                       class="af_tableSelectOne_cell-icon-format OraTableBorder1111"
                      >
                    
                    <input
                         id="mainId:0"
                         name="mainId:selected"
                         title="Select"
                         type="radio"
                         value="0"
                        >
                      
                    </input>
                  </td>
                  <td
                       class="af_column_cell-text OraTableBorder1111"
                      >
                    First
                  </td>
                </tr>
                <tr
                    >
                  
                  <td
                       class="af_tableSelectOne_cell-icon-format OraTableBorder1111"
                      >
                    
                    <input
                         id="mainId:1"
                         name="mainId:selected"
                         title="Select"
                         type="radio"
                         value="1"
                        >
                      
                    </input>
                  </td>
                  <td
                       class="af_column_cell-text OraTableBorder1111"
                      >
                    Second
                  </td>
                </tr>
                <tr
                    >
                  
                  <td
                       class="af_tableSelectOne_cell-icon-format OraTableBorder1111"
                      >
                    
                    <input
                         id="mainId:2"
                         name="mainId:selected"
                         title="Select"
                         type="radio"
                         value="2"
                        >
                      
                    </input>
                  </td>
                  <td
                       class="af_column_cell-text OraTableBorder1111"
                      >
                    Three
                  </td>
                </tr>
              </table>
            </td>
          </tr>
        </table>
        <script
            >
          _uixt_mainId=new CollectionComponent('formId','mainId');
        </script>
        <input
             name="mainId:rangeStart"
             type="hidden"
             value="0"
            >
          
        </input>
      </div>
<!--AttributeTest[autoSubmit,true]-->

      <div
           class="af_table"
           id="mainId"
          >
        
        <table
             border="0"
             cellpadding="0"
             cellspacing="0"
             role="presentation"
            >
          
          <tr
              >
            
            <td
                >
              
              <table
                   border="0"
                   cellpadding="0"
                   cellspacing="0"
                   class="af_table_control-bar-top"
                   role="presentation"
                   width="100%"
                  >
                
                <tr
                    >
                  
                  <td
                       width="100%"
                      >
                    
                  </td>
                  <td
                       align="right"
                       valign="middle"
                      >
                    
                    <table
                         border="0"
                         cellpadding="0"
                         cellspacing="0"
                         id="mainId-nb"
                         role="presentation"
                        >
                      
                      <tr
                          >
                        
                        <td
                             nowrap="nowrap"
                             valign="middle"
                            >
                          
                          <span
                               class="OraNavBarInactiveLink"
                              >
                            Previous
                          </span>
                        </td>
                        <td
                            >
                          
                          <img
                               height="1"
                               width="5"
                               src="uri-attr:encoded-resource-url:/test-context-path/adf/images/t.gif"
                              >
                            
                          </img>
                        </td>
                        <td
                             nowrap="nowrap"
                             valign="middle"
                            >
                          
                          <select
                               class="AFFieldText"
                               id="mainId-nb__xc_c"
                               onchange="_navChoiceSubmit(this, 'formId','goto','mainId',1)"
                               onfocus="this._lastValue = this.selectedIndex"
                               title="Select record set"
                              >
                            
                            <option
                                 value="all"
                                >
                              Show All 6
                            </option>
                            <option
                                 selected="selected"
                                 value="1"
                                >
                              1-3 of 6
                            </option>
                            <option
                                 value="4"
                                >
                              4-6 of 6
                            </option>
                          </select>
                          <script
                              >
                            _setSelectIndexById("mainId-nb__xc_c",1)
                          </script>
                        </td>
                        <td
                            >
                          
                          <img
                               height="1"
                               width="5"
                               src="uri-attr:encoded-resource-url:/test-context-path/adf/images/t.gif"
                              >
                            
                          </img>
                        </td>
                        <td
                             nowrap="nowrap"
                             valign="middle"
                            >
                          
                          <a
                               class="OraNavBarActiveLink"
                               onclick="_navSubmit('formId', 'goto', 'mainId',1,'4');return false"
                               href="uri-attr:#"
                              >
                            Next 3
                          </a>
                        </td>
                      </tr>
                    </table>
                  </td>
                </tr>
              </table>
            </td>
          </tr>
          <tr
              >
            
            <td
                >
              
              <table
                   border="0"
                   cellpadding="1"
                   cellspacing="0"
                   class="af_table_content"
                   width="100%"
                  >
                
                <tr
                    >
                  
                  <th
                       class="af_column_header-icon-format"
                       nowrap="nowrap"
                       scope="col"
                       width="1%"
                      >
                    Select
                  </th>
                  <th
                       class="af_column_header-text OraTableBorder0001"
                       scope="col"
                      >
                    StringHeader
                  </th>
                </tr>
                <tr
                    >
                  
                  <td
                       class="af_tableSelectOne_cell-icon-format OraTableBorder1111"
                      >
                    
                    <script
                        >
                      var _pprUpDatemode=false;function _adfspu(f,v,e,s,o){_pprUpdateMode=true;if(!o)o=new Object();if(e)o.event=e;if(s)o.source=s;_submitPartialChange(f,v,o);}
                    </script>
                    <input
                         id="mainId:0"
                         name="mainId:selected"
                         onclick="TrPage._autoSubmit('formId','mainId',event,1);return true;"
                         title="Select"
                         type="radio"
                         value="0"
                        >
                      
                    </input>
                  </td>
                  <td
                       class="af_column_cell-text OraTableBorder1111"
                      >
                    First
                  </td>
                </tr>
                <tr
                    >
                  
                  <td
                       class="af_tableSelectOne_cell-icon-format OraTableBorder1111"
                      >
                    
                    <input
                         id="mainId:1"
                         name="mainId:selected"
                         onclick="TrPage._autoSubmit('formId','mainId',event,1);return true;"
                         title="Select"
                         type="radio"
                         value="1"
                        >
                      
                    </input>
                  </td>
                  <td
                       class="af_column_cell-text OraTableBorder1111"
                      >
                    Second
                  </td>
                </tr>
                <tr
                    >
                  
                  <td
                       class="af_tableSelectOne_cell-icon-format OraTableBorder1111"
                      >
                    
                    <input
                         id="mainId:2"
                         name="mainId:selected"
                         onclick="TrPage._autoSubmit('formId','mainId',event,1);return true;"
                         title="Select"
                         type="radio"
                         value="2"
                        >
                      
                    </input>
                  </td>
                  <td
                       class="af_column_cell-text OraTableBorder1111"
                      >
                    Three
                  </td>
                </tr>
              </table>
            </td>
          </tr>
        </table>
        <script
            >
          _uixt_mainId=new CollectionComponent('formId','mainId');
        </script>
        <input
             name="mainId:rangeStart"
             type="hidden"
             value="0"
            >
          
        </input>
      </div>
</results>
