<?xml version='1.0' encoding='UTF-8' ?>
<?xml-stylesheet href="gccat_schema.xslt" type="text/xsl"?>
<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>
<xs:element name='model'>
 <xs:complexType>
  <xs:sequence>
   <xs:element name='variables' minOccurs='0' maxOccurs='1'>
    <xs:complexType>
     <xs:sequence>
      <xs:element name='variable' minOccurs='1' maxOccurs='unbounded'>
       <xs:complexType>
        <xs:attribute name='id' type='xs:ID' use='required'/>
        <xs:attribute name='name' type='xs:string' use='optional'/>
        <xs:attribute name='external' type='xs:string' use='required'/>
       </xs:complexType>
      </xs:element>
     </xs:sequence>
    </xs:complexType>
   </xs:element>
   <xs:element name='constraints' minOccurs='1' maxOccurs='1'>
    <xs:complexType>
     <xs:choice minOccurs='1' maxOccurs='unbounded'>
         <xs:element name='all_differ_from_at_least_k_pos'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='K'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VECTORS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='vec' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='all_min_dist'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MINDIST'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='alldifferent'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='alldifferent_between_sets'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='alldifferent_cst'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='cst' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='alldifferent_except_0'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='alldifferent_interval'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SIZE_INTERVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='alldifferent_modulo'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='M'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='alldifferent_on_intersection'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='alldifferent_partition'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PARTITIONS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='p' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='alldifferent_same_value'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NSAME'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='allperm'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MATRIX'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='vec' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='among'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NVAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='among_diff_0'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NVAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='among_interval'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NVAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LOW'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='UP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='among_low_up'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='LOW'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='UP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='among_modulo'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NVAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='REMAINDER'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='QUOTIENT'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='among_seq'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='LOW'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='UP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SEQ'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='and'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='type_0_1' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='type_0_1' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='arith'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='RELOP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='arith_or'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='RELOP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='arith_sliding'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='RELOP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='assign_and_counts'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='COLOURS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ITEMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='bin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='colour' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='RELOP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LIMIT'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='assign_and_nvalues'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ITEMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='bin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='RELOP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LIMIT'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='atleast'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='N'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='atleast_nvalue'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='atmost'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='N'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='atmost_nvalue'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='balance'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='BALANCE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='balance_interval'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='BALANCE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SIZE_INTERVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='balance_modulo'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='BALANCE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='M'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='balance_partition'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='BALANCE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PARTITIONS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='p' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='between_min_max'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='bin_packing'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='CAPACITY'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ITEMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='bin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='weight' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='binary_tree'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NTREES'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='bipartite'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='calendar'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='INSTANTS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='machine' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='virtual' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='real' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='flagend' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='type_0_1' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MACHINES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='cal' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='low' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                               <xs:element name='up' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cardinality_atleast'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ATLEAST'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cardinality_atmost'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ATMOST'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cardinality_atmost_partition'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ATMOST'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PARTITIONS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='p' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='change'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCHANGE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='change_continuity'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NB_PERIOD_CHANGE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NB_PERIOD_CONTINUITY'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MIN_SIZE_CHANGE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MAX_SIZE_CHANGE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MIN_SIZE_CONTINUITY'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MAX_SIZE_CONTINUITY'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NB_CHANGE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NB_CONTINUITY'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='change_pair'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCHANGE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PAIRS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='x' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='y' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTRX'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTRY'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='change_partition'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCHANGE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PARTITIONS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='p' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='circuit'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='circuit_cluster'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCIRCUIT'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='cluster' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='circular_change'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCHANGE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='clique'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SIZE_CLIQUE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='colored_matrix'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='C'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='L'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='K'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MATRIX'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='column' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='line' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CPROJ'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='column' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='noccurrence' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LPROJ'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='line' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='noccurrence' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='coloured_cumulative'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='origin' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='duration' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='colour' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LIMIT'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='coloured_cumulatives'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='machine' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='origin' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='duration' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='colour' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MACHINES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='capacity' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='common'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCOMMON1'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NCOMMON2'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='common_interval'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCOMMON1'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NCOMMON2'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SIZE_INTERVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='common_modulo'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCOMMON1'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NCOMMON2'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='M'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='common_partition'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCOMMON1'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NCOMMON2'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PARTITIONS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='p' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cond_lex_cost'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VECTOR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PREFERENCE_TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='tuple' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='COST'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cond_lex_greater'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VECTOR1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VECTOR2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PREFERENCE_TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='tuple' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cond_lex_greatereq'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VECTOR1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VECTOR2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PREFERENCE_TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='tuple' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cond_lex_less'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VECTOR1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VECTOR2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PREFERENCE_TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='tuple' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cond_lex_lesseq'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VECTOR1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VECTOR2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PREFERENCE_TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='tuple' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='connect_points'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SIZE1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SIZE2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SIZE3'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NGROUP'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='POINTS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='p' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='connected'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='contains_sboxes'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='K'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='DIMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='OBJECTS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='x' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SBOXES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='t' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='s' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='correspondence'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='FROM'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='from' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PERMUTATION'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TO'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='tvar' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='count'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VALUE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='RELOP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NVAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='counts'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='RELOP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LIMIT'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='coveredby_sboxes'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='K'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='DIMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='OBJECTS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='x' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SBOXES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='t' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='s' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='covers_sboxes'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='K'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='DIMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='OBJECTS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='x' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SBOXES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='t' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='s' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='crossing'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCROSS'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SEGMENTS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ox' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='oy' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='ex' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='ey' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cumulative'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='origin' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='duration' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='height' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LIMIT'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cumulative_convex'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='points' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='height' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LIMIT'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cumulative_product'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='origin' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='duration' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='height' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LIMIT'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cumulative_two_d'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='RECTANGLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='start1' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='size1' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='last1' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='start2' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='size2' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='last2' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='height' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LIMIT'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cumulative_with_level_of_priority'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='priority' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='origin' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='duration' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='height' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PRIORITIES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='capacity' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cumulatives'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='machine' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='origin' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='duration' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='height' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MACHINES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='capacity' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeLEGE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cutset'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SIZE_CUTSET'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='bool' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='type_0_1' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cycle'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCYCLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cycle_card_on_path'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCYCLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='colour' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ATLEAST'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ATMOST'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PATH_LEN'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cycle_or_accessibility'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MAXDIST'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NCYCLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='x' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='y' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cycle_resource'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='RESOURCE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='first_task' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='nb_task' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TASK'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='next_task' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='resource' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cyclic_change'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCHANGE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CYCLE_LENGTH'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='cyclic_change_joker'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCHANGE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CYCLE_LENGTH'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='dag'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='decreasing'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='deepest_valley'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='DEPTH'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='derangement'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='differ_from_at_least_k_pos'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='K'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VECTOR1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VECTOR2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='diffn'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ORTHOTOPES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='orth' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                               <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                               <xs:element name='end' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='diffn_column'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ORTHOTOPES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='orth' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                               <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                               <xs:element name='end' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='N'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='diffn_include'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ORTHOTOPES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='orth' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                               <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                               <xs:element name='end' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='N'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='diffst'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='OBJECTS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='shape' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='origin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='ori' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='start' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SHAPES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='s' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='orthotope' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='collection'>
                                   <xs:complexType>
                                    <xs:sequence>
                                     <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                                      <xs:complexType>
                                       <xs:sequence>
                                        <xs:element name='shiftori' minOccurs='1' maxOccurs='1'>
                                         <xs:complexType>
                                          <xs:sequence>
                                           <xs:element name='basetype'>
                                            <xs:complexType>
                                             <xs:attribute name='value' type='xs:integer' use='required'/>
                                             <xs:attribute name='name' type='xs:string' use='required'/>
                                            </xs:complexType>
                                           </xs:element>
                                          </xs:sequence>
                                         </xs:complexType>
                                        </xs:element>
                                        <xs:element name='size' minOccurs='1' maxOccurs='1'>
                                         <xs:complexType>
                                          <xs:sequence>
                                           <xs:element name='basetype'>
                                            <xs:complexType>
                                             <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                                             <xs:attribute name='name' type='xs:string' use='required'/>
                                            </xs:complexType>
                                           </xs:element>
                                          </xs:sequence>
                                         </xs:complexType>
                                        </xs:element>
                                       </xs:sequence>
                                      </xs:complexType>
                                     </xs:element>
                                    </xs:sequence>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='discrepancy'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='bad' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='K'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='disj'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='start' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='duration' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='before' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='position' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='disjoint'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='disjoint_sboxes'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='K'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='DIMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='OBJECTS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='x' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SBOXES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='t' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='l' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='disjoint_tasks'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='TASKS1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='origin' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='duration' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TASKS2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='origin' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='duration' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='disjunctive'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='origin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='duration' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='distance_between'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='DIST'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='distance_change'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='DIST'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='dom_reachability'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SOURCE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='FLOW_GRAPH'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='DOMINATOR_GRAPH'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TRANSITIVE_CLOSURE_GRAPH'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='domain_constraint'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var01' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='type_0_1' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='elem'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ITEM'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='element'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='INDEX'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='element_greatereq'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ITEM'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='element_lesseq'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ITEM'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='element_matrix'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MAX_I'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MAX_J'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='INDEX_I'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='INDEX_J'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MATRIX'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='i' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='j' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='v' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='element_product'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='Y'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='X'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='Z'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='element_sparse'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ITEM'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='DEFAULT'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='elementn'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='INDEX'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ENTRIES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='entry' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='elements'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ITEMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='elements_alldifferent'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ITEMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='elements_sparse'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ITEMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='DEFAULT'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='eq_set'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SET1'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SET2'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='equal_sboxes'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='K'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='DIMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='OBJECTS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='x' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SBOXES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='t' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='s' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='equivalent'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='type_0_1' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='type_0_1' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='exactly'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='N'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='global_cardinality'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='noccurrence' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='global_cardinality_low_up'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='omin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='omax' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='global_cardinality_low_up_no_loop'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MINLOOP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MAXLOOP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='omin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='omax' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='global_cardinality_no_loop'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NLOOP'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='noccurrence' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='global_cardinality_with_costs'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='noccurrence' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MATRIX'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='i' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='j' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='c' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='COST'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='global_contiguity'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='type_0_1' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='golomb'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='graph_crossing'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCROSS'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='x' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='y' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='group'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NGROUP'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MIN_SIZE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MAX_SIZE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MIN_DIST'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MAX_DIST'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='group_skip_isolated_item'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NGROUP'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MIN_SIZE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MAX_SIZE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='heighest_peak'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='HEIGHT'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='imply'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='type_0_1' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='type_0_1' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='in'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='in_interval'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LOW'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='UP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='in_relation'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TUPLES_OF_VALS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='tuple' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='in_same_partition'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAR1'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VAR2'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PARTITIONS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='p' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='in_set'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SET'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='increasing'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='indexed_sum'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ITEMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='weight' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='summation' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='inflexion'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='N'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='inside_sboxes'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='K'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='DIMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='OBJECTS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='x' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SBOXES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='t' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='s' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='int_value_precede'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='S'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='T'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='int_value_precede_chain'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='interval_and_count'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ATMOST'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='COLOURS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='origin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='colour' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SIZE_INTERVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='interval_and_sum'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SIZE_INTERVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='origin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='height' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LIMIT'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='inverse'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='pred' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='inverse_set'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='X'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='set' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='Y'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='set' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='inverse_within_range'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='X'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='Y'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='ith_pos_different_from_0'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ITH'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='POS'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='k_alldifferent'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='vars' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='x' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='k_cut'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='K'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='k_disjoint'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SETS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='set' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='k_same'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SETS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='set' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='k_same_interval'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SETS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='set' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SIZE_INTERVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='k_same_modulo'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SETS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='set' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='M'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='k_same_partition'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SETS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='set' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PARTITIONS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='p' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='k_used_by'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SETS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='set' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='k_used_by_interval'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SETS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='set' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SIZE_INTERVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='k_used_by_modulo'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SETS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='set' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='M'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='k_used_by_partition'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SETS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='set' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PARTITIONS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='p' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='lex2'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MATRIX'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='vec' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='lex_alldifferent'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VECTORS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='vec' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='lex_between'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='LOWER_BOUND'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VECTOR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='UPPER_BOUND'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='lex_chain_less'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VECTORS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='vec' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='lex_chain_lesseq'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VECTORS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='vec' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='lex_different'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VECTOR1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VECTOR2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='lex_greater'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VECTOR1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VECTOR2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='lex_greatereq'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VECTOR1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VECTOR2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='lex_less'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VECTOR1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VECTOR2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='lex_lesseq'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VECTOR1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VECTOR2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='link_set_to_booleans'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SVAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='BOOLEANS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='bool' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='type_0_1' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='longest_change'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SIZE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='map'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NBCYCLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NBTREE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='max_index'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MAX_INDEX'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='max_n'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MAX'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='RANK'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='max_nvalue'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MAX'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='max_size_set_of_consecutive_var'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MAX'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='maximum'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MAX'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='maximum_modulo'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MAX'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='M'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='meet_sboxes'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='K'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='DIMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='OBJECTS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='x' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SBOXES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='t' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='s' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='min_index'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MIN_INDEX'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='min_n'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MIN'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='RANK'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='min_nvalue'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MIN'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='min_size_set_of_consecutive_var'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MIN'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='minimum'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MIN'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='minimum_except_0'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MIN'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='minimum_greater_than'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAR1'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VAR2'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='minimum_modulo'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MIN'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='M'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='minimum_weight_alldifferent'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MATRIX'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='i' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='j' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='c' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='COST'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='nand'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='type_0_1' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='type_0_1' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='nclass'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCLASS'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PARTITIONS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='p' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='nequivalence'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NEQUIV'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='M'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='next_element'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='THRESHOLD'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='INDEX'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='next_greater_element'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAR1'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VAR2'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='ninterval'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SIZE_INTERVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='no_peak'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='no_valley'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='non_overlap_sboxes'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='K'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='DIMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='OBJECTS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='x' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SBOXES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='t' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='s' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='nor'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='type_0_1' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='type_0_1' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='not_all_equal'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='not_in'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='npair'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NPAIRS'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PAIRS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='x' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='y' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='nset_of_consecutive_values'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='N'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='nvalue'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='nvalue_on_intersection'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='nvalues'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='RELOP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LIMIT'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='nvalues_except_0'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='RELOP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LIMIT'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='open_alldifferent'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='S'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='open_among'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='S'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NVAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='open_atleast'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='S'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='N'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='open_atmost'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='S'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='N'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='open_global_cardinality'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='S'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='noccurrence' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='open_global_cardinality_low_up'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='S'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='omin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='omax' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='or'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='type_0_1' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='type_0_1' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='orchard'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NROW'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TREES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='x' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='y' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='orth_link_ori_siz_end'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ORTHOTOPE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='orth_on_the_ground'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ORTHOTOPE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VERTICAL_DIM'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='orth_on_top_of_orth'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ORTHOTOPE1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ORTHOTOPE2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VERTICAL_DIM'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='orths_are_connected'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ORTHOTOPES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='orth' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                               <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                               <xs:element name='end' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='overlap_sboxes'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='K'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='DIMS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='OBJECTS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='x' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SBOXES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='sid' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='t' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='s' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='v' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='path_from_to'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='FROM'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TO'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='pattern'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PATTERNS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='pat' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='peak'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='N'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='period'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='PERIOD'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='period_except_0'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='PERIOD'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='place_in_pyramid'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ORTHOTOPES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='orth' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                               <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                               <xs:element name='end' minOccurs='0' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VERTICAL_DIM'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='polyomino'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='CELLS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='right' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='left' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='up' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='down' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='product_ctr'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='proper_forest'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NTREES'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='neighbour' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='range_ctr'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='relaxed_sliding_sum'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ATLEAST'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ATMOST'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LOW'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='UP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SEQ'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='roots'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='S'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='T'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='same'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='same_and_global_cardinality'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='noccurrence' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='same_and_global_cardinality_low_up'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='omin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='omax' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='same_intersection'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='same_interval'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SIZE_INTERVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='same_modulo'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='M'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='same_partition'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PARTITIONS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='p' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='sequence_folding'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='LETTERS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='next' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='set_value_precede'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='S'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='T'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='shift'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MIN_BREAK'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='MAX_RANGE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='origin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='size_maximal_sequence_alldifferent'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SIZE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='size_maximal_starting_sequence_alldifferent'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SIZE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='sliding_card_skip0'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ATLEAST'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ATMOST'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='sliding_distribution'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SEQ'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='omin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='omax' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='sliding_sum'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='LOW'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='UP'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SEQ'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='sliding_time_window'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='WINDOW_SIZE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LIMIT'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='origin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='duration' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='sliding_time_window_from_start'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='WINDOW_SIZE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LIMIT'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='origin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='duration' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='START'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='sliding_time_window_sum'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='WINDOW_SIZE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='LIMIT'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='origin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='npoint' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='smooth'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCHANGE'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TOLERANCE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='soft_alldifferent_ctr'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='C'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='soft_alldifferent_var'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='C'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='soft_same_interval_var'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='C'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SIZE_INTERVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='soft_same_modulo_var'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='C'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='M'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='soft_same_partition_var'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='C'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PARTITIONS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='p' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='soft_same_var'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='C'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='soft_used_by_interval_var'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='C'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SIZE_INTERVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='soft_used_by_modulo_var'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='C'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='M'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='soft_used_by_partition_var'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='C'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PARTITIONS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='p' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='soft_used_by_var'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='C'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='sort'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='sort_permutation'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='FROM'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PERMUTATION'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TO'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='stable_compatibility'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='father' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='prec' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='inc' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='stage_element'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ITEM'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TABLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='low' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='up' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='value' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='stretch_circuit'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='lmin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='lmax' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='stretch_path'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='lmin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='lmax' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='strict_lex2'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='MATRIX'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='vec' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='var' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:choice>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                  <xs:element name='variableref'>
                                   <xs:complexType>
                                    <xs:attribute name='id' type='xs:IDREF' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:choice>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='strictly_decreasing'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='strictly_increasing'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='strongly_connected'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='sum'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='INDEX'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SETS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ind' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='set' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CONSTANTS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='cst' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='S'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='sum_ctr'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='sum_of_weights_of_distinct_values'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='weight' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='COST'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='sum_set'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='SV'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='integerset'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:attribute name='value' type='xs:integer' use='required'/>
                     <xs:attribute name='name' type='xs:string' use='required'/>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='coef' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='CTR'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='typeEQNEQLTGEGTLE' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='symmetric'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='symmetric_alldifferent'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='symmetric_cardinality'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='idvar' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='l' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='u' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='idval' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='l' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='u' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='symmetric_gcc'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='idvar' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='nocc' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='idval' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='nocc' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='temporal_path'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NPATH'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='start' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='tour'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='integerset'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='basetype' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:attribute name='value' type='xs:integer' use='required'/>
                              <xs:attribute name='name' type='xs:string' use='required'/>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='track'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NTRAIL'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TASKS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='trail' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='origin' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='tree'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NTREES'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='tree_range'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NTREES'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='R'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='NODES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='index' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='succ' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='tree_resource'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='RESOURCE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='nb_task' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TASK'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='father' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='resource' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='two_layer_edge_crossing'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='NCROSS'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VERTICES_LAYER1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='pos' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VERTICES_LAYER2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='pos' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='EDGES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='id' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='vertex1' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='vertex2' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='two_orth_are_in_contact'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ORTHOTOPE1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ORTHOTOPE2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='two_orth_column'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ORTHOTOPE1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ORTHOTOPE2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='N'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='two_orth_do_not_overlap'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ORTHOTOPE1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ORTHOTOPE2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='two_orth_include'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ORTHOTOPE1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ORTHOTOPE2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='siz' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='end' minOccurs='0' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='N'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='two_shapes_do_not_overlap'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ORIGIN1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SHAPE1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='orthotope' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='shiftori' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                               <xs:element name='size' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ORIGIN2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SHAPE2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='orthotope' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='shiftori' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                               <xs:element name='size' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='two_shifted_orth_do_not_overlap'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='ORIGIN1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ORTHOTOPE1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='shiftori' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='size' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ORIGIN2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='ori' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='ORTHOTOPE2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='shiftori' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='size' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='used_by'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='used_by_interval'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='SIZE_INTERVAL'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='used_by_modulo'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='M'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:positiveInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='used_by_partition'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='PARTITIONS'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='p' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='collection'>
                          <xs:complexType>
                           <xs:sequence>
                            <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                             <xs:complexType>
                              <xs:sequence>
                               <xs:element name='val' minOccurs='1' maxOccurs='1'>
                                <xs:complexType>
                                 <xs:sequence>
                                  <xs:element name='basetype'>
                                   <xs:complexType>
                                    <xs:attribute name='value' type='xs:integer' use='required'/>
                                    <xs:attribute name='name' type='xs:string' use='required'/>
                                   </xs:complexType>
                                  </xs:element>
                                 </xs:sequence>
                                </xs:complexType>
                               </xs:element>
                              </xs:sequence>
                             </xs:complexType>
                            </xs:element>
                           </xs:sequence>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='uses'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES1'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES2'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='valley'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='N'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:nonNegativeInteger' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='vec_eq_tuple'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='TUPLE'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='weighted_partial_alldiff'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='UNDEFINED'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VALUES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='val' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                      <xs:element name='weight' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:sequence>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='xs:integer' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:sequence>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='COST'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='xs:integer' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
         <xs:element name='xor'>
          <xs:complexType>
           <xs:sequence>
            <xs:element name='VAR'>
             <xs:complexType>
              <xs:sequence>
               <xs:choice>
                <xs:element name='basetype'>
                 <xs:complexType>
                  <xs:attribute name='value' type='type_0_1' use='required'/>
                  <xs:attribute name='name' type='xs:string' use='required'/>
                 </xs:complexType>
                </xs:element>
                <xs:element name='variableref'>
                 <xs:complexType>
                  <xs:attribute name='id' type='xs:IDREF' use='required'/>
                 </xs:complexType>
                </xs:element>
               </xs:choice>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
            <xs:element name='VARIABLES'>
             <xs:complexType>
              <xs:sequence>
               <xs:sequence>
                <xs:element name='collection'>
                 <xs:complexType>
                  <xs:sequence>
                   <xs:element name='item' minOccurs='0' maxOccurs='unbounded'>
                    <xs:complexType>
                     <xs:sequence>
                      <xs:element name='var' minOccurs='1' maxOccurs='1'>
                       <xs:complexType>
                        <xs:choice>
                         <xs:element name='basetype'>
                          <xs:complexType>
                           <xs:attribute name='value' type='type_0_1' use='required'/>
                           <xs:attribute name='name' type='xs:string' use='required'/>
                          </xs:complexType>
                         </xs:element>
                         <xs:element name='variableref'>
                          <xs:complexType>
                           <xs:attribute name='id' type='xs:IDREF' use='required'/>
                          </xs:complexType>
                         </xs:element>
                        </xs:choice>
                       </xs:complexType>
                      </xs:element>
                     </xs:sequence>
                    </xs:complexType>
                   </xs:element>
                  </xs:sequence>
                 </xs:complexType>
                </xs:element>
               </xs:sequence>
              </xs:sequence>
             </xs:complexType>
            </xs:element>
           </xs:sequence>
           <xs:attribute name='id' type='xs:ID' use='required'/>
           <xs:attribute name='name' type='xs:string' use='optional'/>
           <xs:attribute name='desc' type='xs:string' use='optional'/>
          </xs:complexType>
         </xs:element>
     </xs:choice>
    </xs:complexType>
   </xs:element>
  </xs:sequence>
 </xs:complexType>
</xs:element>
<xs:simpleType name='type_0_1'>
 <xs:restriction base='xs:integer'>
  <xs:minInclusive value='0'/>
  <xs:maxInclusive value='1'/>
 </xs:restriction>
</xs:simpleType>

<xs:simpleType name='typeEQNEQLTGEGTLE'>
 <xs:restriction base='xs:string'>
  <xs:enumeration value='EQ'/>
  <xs:enumeration value='NEQ'/>
  <xs:enumeration value='LT'/>
  <xs:enumeration value='GE'/>
  <xs:enumeration value='GT'/>
  <xs:enumeration value='LE'/>
 </xs:restriction>
</xs:simpleType>

<xs:simpleType name='typeLEGE'>
 <xs:restriction base='xs:string'>
  <xs:enumeration value='LE'/>
  <xs:enumeration value='GE'/>
 </xs:restriction>
</xs:simpleType>

</xs:schema>

