[1/2] Better sorting of (anonymous) types in ABIXML files

Message ID 87im6b19th.fsf@redhat.com
State Committed
Headers
Series [1/2] Better sorting of (anonymous) types in ABIXML files |

Commit Message

Dodji Seketeli March 1, 2021, 9:51 a.m. UTC
  Hello,

I am still seeing in some cases, some instability in type sorting in
ABIXML.

It looks related to anonymous types sorting, so this patch tries
harder to have anonymous types have names more suitable for internal
matters this.

	* src/abg-writer.cc (type_ptr_cmp::operator()): Use the internal
	pretty representation of types, for comparison.
	* tests/data/test-read-dwarf/PR22015-libboost_iostreams.so.abi:
	Adjust.
	* tests/data/test-read-dwarf/PR22122-libftdc.so.abi: Likewise.
	* tests/data/test-read-dwarf/PR25007-sdhci.ko.abi: Likewise.
	* tests/data/test-read-dwarf/PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi:
	Likewise.
	* tests/data/test-read-dwarf/test-libandroid.so.abi: Likewise.
	* tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Likewise.
	* tests/data/test-read-dwarf/test12-pr18844.so.abi: Likewise.
	* tests/data/test-read-dwarf/test13-pr18894.so.abi: Likewise.
	* tests/data/test-read-dwarf/test14-pr18893.so.abi: Likewise.
	* tests/data/test-read-dwarf/test15-pr18892.so.abi: Likewise.
	* tests/data/test-read-dwarf/test16-pr18904.so.abi: Likewise.
	* tests/data/test-read-dwarf/test17-pr19027.so.abi: Likewise.
	* tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise.
	* tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise.
	* tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi: Likewise.
	* tests/data/test-read-dwarf/test21-pr19092.so.abi: Likewise.
	* tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Likewise.
	* tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Likewise.
	* tests/data/test-annotate/test13-pr18894.so.abi: Likewise.
	* tests/data/test-annotate/test14-pr18893.so.abi: Likewise.
	* tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
	* tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
	* tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi:
	Likewise.
	* tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi:
	Likewise.
	* tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi:
	Likewise.
	* tests/data/test-annotate/test21-pr19092.so.abi: Likewise.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>

Applied to master.

---
 src/abg-writer.cc                             |    4 +-
 .../data/test-annotate/test13-pr18894.so.abi  |   14 +-
 .../data/test-annotate/test14-pr18893.so.abi  | 2810 ++---
 .../data/test-annotate/test15-pr18892.so.abi  | 1540 +--
 .../data/test-annotate/test17-pr19027.so.abi  | 5232 ++++-----
 ...st18-pr19037-libvtkRenderingLIC-6.1.so.abi |  116 +-
 ...19-pr19023-libtcmalloc_and_profiler.so.abi | 1418 +--
 ...st20-pr19025-libvtkParallelCore-6.1.so.abi | 1728 +--
 .../data/test-annotate/test21-pr19092.so.abi  | 1064 +-
 .../PR22015-libboost_iostreams.so.abi         |    8 +-
 .../test-read-dwarf/PR22122-libftdc.so.abi    |   10 +-
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi |   12 +-
 .../PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi |    2 +-
 .../test-read-dwarf/test-libandroid.so.abi    |  230 +-
 .../test-read-dwarf/test10-pr18818-gcc.so.abi |   24 +-
 .../test-read-dwarf/test12-pr18844.so.abi     | 2434 ++---
 .../test-read-dwarf/test13-pr18894.so.abi     |   12 +-
 .../test-read-dwarf/test14-pr18893.so.abi     | 2272 ++--
 .../test-read-dwarf/test15-pr18892.so.abi     | 1170 +--
 .../test-read-dwarf/test16-pr18904.so.abi     | 1240 +--
 .../test-read-dwarf/test17-pr19027.so.abi     | 4734 ++++-----
 ...st18-pr19037-libvtkRenderingLIC-6.1.so.abi |   84 +-
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |  992 +-
 ...st20-pr19025-libvtkParallelCore-6.1.so.abi | 1404 +--
 .../test-read-dwarf/test21-pr19092.so.abi     |  914 +-
 .../test22-pr19097-libstdc++.so.6.0.17.so.abi | 9338 ++++++++---------
 .../test9-pr18818-clang.so.abi                |   56 +-
 27 files changed, 19431 insertions(+), 19431 deletions(-)
  

Patch

diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index 4900703f..a8959314 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -591,8 +591,8 @@  public:
       if (!l && !r)
 	return false;
 
-      string r1 = ir::get_pretty_representation(l),
-	r2 = ir::get_pretty_representation(r);
+      string r1 = ir::get_pretty_representation(l, true),
+	r2 = ir::get_pretty_representation(r, true);
 
       if (r1 == r2)
 	{
diff --git a/tests/data/test-annotate/test13-pr18894.so.abi b/tests/data/test-annotate/test13-pr18894.so.abi
index ae62b7ac..d80d3d75 100644
--- a/tests/data/test-annotate/test13-pr18894.so.abi
+++ b/tests/data/test-annotate/test13-pr18894.so.abi
@@ -1014,13 +1014,6 @@ 
     <typedef-decl name='DBusFreeFunction' type-id='type-id-63' filepath='../dbus/dbus-memory.h' line='64' column='1' id='type-id-38'/>
     <!-- typedef void (void*)* DBusWakeupMainFunction -->
     <typedef-decl name='DBusWakeupMainFunction' type-id='type-id-63' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='135' column='1' id='type-id-37'/>
-    <!-- enum __anonymous_enum__ -->
-    <enum-decl name='__anonymous_enum__' is-anonymous='yes' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='80' column='1' id='type-id-61'>
-      <underlying-type type-id='type-id-42'/>
-      <enumerator name='DBUS_DISPATCH_DATA_REMAINS' value='0'/>
-      <enumerator name='DBUS_DISPATCH_COMPLETE' value='1'/>
-      <enumerator name='DBUS_DISPATCH_NEED_MEMORY' value='2'/>
-    </enum-decl>
     <!-- struct DBusAtomic -->
     <class-decl name='DBusAtomic' size-in-bits='32' is-struct='yes' visibility='default' filepath='../dbus/dbus-sysdeps.h' line='228' column='1' id='type-id-59'>
       <data-member access='public' layout-offset-in-bits='0'>
@@ -1039,6 +1032,13 @@ 
         <var-decl name='n_slots' type-id='type-id-2' visibility='default' filepath='../dbus/dbus-dataslot.h' line='72' column='1'/>
       </data-member>
     </class-decl>
+    <!-- enum __anonymous_enum__ -->
+    <enum-decl name='__anonymous_enum__' is-anonymous='yes' filepath='/tmp/legendre/spack-stage/spack-stage-hI99PR/dbus-1.9.0/dbus/dbus-connection.h' line='80' column='1' id='type-id-61'>
+      <underlying-type type-id='type-id-42'/>
+      <enumerator name='DBUS_DISPATCH_DATA_REMAINS' value='0'/>
+      <enumerator name='DBUS_DISPATCH_COMPLETE' value='1'/>
+      <enumerator name='DBUS_DISPATCH_NEED_MEMORY' value='2'/>
+    </enum-decl>
     <!-- typedef DBusCMutex DBusCMutex -->
     <typedef-decl name='DBusCMutex' type-id='type-id-66' filepath='../dbus/dbus-threads-internal.h' line='45' column='1' id='type-id-49'/>
     <!-- typedef DBusCondVar DBusCondVar -->
diff --git a/tests/data/test-annotate/test14-pr18893.so.abi b/tests/data/test-annotate/test14-pr18893.so.abi
index f9eed018..7c977b1d 100644
--- a/tests/data/test-annotate/test14-pr18893.so.abi
+++ b/tests/data/test-annotate/test14-pr18893.so.abi
@@ -739,6 +739,8 @@ 
     <pointer-type-def type-id='type-id-36' size-in-bits='64' id='type-id-21'/>
     <!-- void (const GLfloat*, void*)* -->
     <pointer-type-def type-id='type-id-37' size-in-bits='64' id='type-id-24'/>
+    <!-- struct CurveMap -->
+    <class-decl name='CurveMap' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-29'/>
     <!-- float -->
     <type-decl name='float' size-in-bits='32' id='type-id-28'/>
     <!-- void (const GLfloat*) -->
@@ -761,8 +763,6 @@ 
     <type-decl name='int' size-in-bits='32' id='type-id-11'/>
     <!-- long int -->
     <type-decl name='long int' size-in-bits='64' id='type-id-15'/>
-    <!-- struct CurveMap -->
-    <class-decl name='CurveMap' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-29'/>
     <!-- typedef float GLfloat -->
     <typedef-decl name='GLfloat' type-id='type-id-28' filepath='../../../include/GL/gl.h' line='160' column='1' id='type-id-32'/>
     <!-- unsigned long int -->
@@ -1744,212 +1744,6 @@ 
     </array-type-def>
     <!-- bezierPatchMesh* -->
     <pointer-type-def type-id='type-id-69' size-in-bits='64' id='type-id-51'/>
-    <!-- class NurbsTessellator -->
-    <class-decl name='NurbsTessellator' size-in-bits='47616' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='53' column='1' id='type-id-43'>
-      <data-member access='protected' layout-offset-in-bits='64'>
-        <!-- Renderhints NurbsTessellator::renderhints -->
-        <var-decl name='renderhints' type-id='type-id-70' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='104' column='1'/>
-      </data-member>
-      <data-member access='protected' layout-offset-in-bits='320'>
-        <!-- Maplist NurbsTessellator::maplist -->
-        <var-decl name='maplist' type-id='type-id-71' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='105' column='1'/>
-      </data-member>
-      <data-member access='protected' layout-offset-in-bits='3008'>
-        <!-- Backend NurbsTessellator::backend -->
-        <var-decl name='backend' type-id='type-id-72' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='106' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='3648'>
-        <!-- Subdivider NurbsTessellator::subdivider -->
-        <var-decl name='subdivider' type-id='type-id-73' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='134' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='24064'>
-        <!-- JumpBuffer* NurbsTessellator::jumpbuffer -->
-        <var-decl name='jumpbuffer' type-id='type-id-74' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='135' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='24128'>
-        <!-- Pool NurbsTessellator::o_pwlcurvePool -->
-        <var-decl name='o_pwlcurvePool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='136' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='26624'>
-        <!-- Pool NurbsTessellator::o_nurbscurvePool -->
-        <var-decl name='o_nurbscurvePool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='137' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='29120'>
-        <!-- Pool NurbsTessellator::o_curvePool -->
-        <var-decl name='o_curvePool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='138' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='31616'>
-        <!-- Pool NurbsTessellator::o_trimPool -->
-        <var-decl name='o_trimPool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='139' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='34112'>
-        <!-- Pool NurbsTessellator::o_surfacePool -->
-        <var-decl name='o_surfacePool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='140' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='36608'>
-        <!-- Pool NurbsTessellator::o_nurbssurfacePool -->
-        <var-decl name='o_nurbssurfacePool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='141' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='39104'>
-        <!-- Pool NurbsTessellator::propertyPool -->
-        <var-decl name='propertyPool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='142' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='41600'>
-        <!-- Pool NurbsTessellator::quiltPool -->
-        <var-decl name='quiltPool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='144' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='44096'>
-        <!-- TrimVertexPool NurbsTessellator::extTrimVertexPool -->
-        <var-decl name='extTrimVertexPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='146' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='46720'>
-        <!-- int NurbsTessellator::inSurface -->
-        <var-decl name='inSurface' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='148' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='46752'>
-        <!-- int NurbsTessellator::inCurve -->
-        <var-decl name='inCurve' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='149' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='46784'>
-        <!-- int NurbsTessellator::inTrim -->
-        <var-decl name='inTrim' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='150' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='46816'>
-        <!-- int NurbsTessellator::isCurveModified -->
-        <var-decl name='isCurveModified' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='151' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='46848'>
-        <!-- int NurbsTessellator::isTrimModified -->
-        <var-decl name='isTrimModified' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='152' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='46880'>
-        <!-- int NurbsTessellator::isSurfaceModified -->
-        <var-decl name='isSurfaceModified' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='153' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='46912'>
-        <!-- int NurbsTessellator::isDataValid -->
-        <var-decl name='isDataValid' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='154' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='46944'>
-        <!-- int NurbsTessellator::numTrims -->
-        <var-decl name='numTrims' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='155' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='46976'>
-        <!-- int NurbsTessellator::playBack -->
-        <var-decl name='playBack' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='156' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='47040'>
-        <!-- O_trim** NurbsTessellator::nextTrim -->
-        <var-decl name='nextTrim' type-id='type-id-77' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='158' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='47104'>
-        <!-- O_curve** NurbsTessellator::nextCurve -->
-        <var-decl name='nextCurve' type-id='type-id-78' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='159' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='47168'>
-        <!-- O_nurbscurve** NurbsTessellator::nextNurbscurve -->
-        <var-decl name='nextNurbscurve' type-id='type-id-79' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='160' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='47232'>
-        <!-- O_pwlcurve** NurbsTessellator::nextPwlcurve -->
-        <var-decl name='nextPwlcurve' type-id='type-id-80' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='161' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='47296'>
-        <!-- O_nurbssurface** NurbsTessellator::nextNurbssurface -->
-        <var-decl name='nextNurbssurface' type-id='type-id-81' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='162' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='47360'>
-        <!-- O_surface* NurbsTessellator::currentSurface -->
-        <var-decl name='currentSurface' type-id='type-id-82' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='164' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='47424'>
-        <!-- O_trim* NurbsTessellator::currentTrim -->
-        <var-decl name='currentTrim' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='165' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='47488'>
-        <!-- O_curve* NurbsTessellator::currentCurve -->
-        <var-decl name='currentCurve' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='166' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='47552'>
-        <!-- DisplayList* NurbsTessellator::dl -->
-        <var-decl name='dl' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='168' column='1'/>
-      </data-member>
-      <member-function access='private' constructor='yes'>
-        <!-- NurbsTessellator::NurbsTessellator(BasicCurveEvaluator&, BasicSurfaceEvaluator&) -->
-        <function-decl name='NurbsTessellator' filepath='libnurbs/internals/nurbsinterfac.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86' is-artificial='yes'/>
-          <!-- parameter of type 'BasicCurveEvaluator&' -->
-          <parameter type-id='type-id-87'/>
-          <!-- parameter of type 'BasicSurfaceEvaluator&' -->
-          <parameter type-id='type-id-88'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-      <member-function access='private' destructor='yes' vtable-offset='-1'>
-        <!-- NurbsTessellator::~NurbsTessellator(int) -->
-        <function-decl name='~NurbsTessellator' filepath='libnurbs/internals/nurbsinterfac.cc' line='88' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86' is-artificial='yes'/>
-          <!-- artificial parameter of type 'int' -->
-          <parameter type-id='type-id-11' is-artificial='yes'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-      <member-function access='private' vtable-offset='2'>
-        <!-- void NurbsTessellator::bgnrender() -->
-        <function-decl name='bgnrender' mangled-name='_ZN16NurbsTessellator9bgnrenderEv' filepath='libnurbs/internals/nurbstess.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86' is-artificial='yes'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-      <member-function access='private' vtable-offset='3'>
-        <!-- void NurbsTessellator::endrender() -->
-        <function-decl name='endrender' mangled-name='_ZN16NurbsTessellator9endrenderEv' filepath='libnurbs/internals/nurbstess.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86' is-artificial='yes'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-      <member-function access='private' vtable-offset='4'>
-        <!-- void NurbsTessellator::makeobj(int) -->
-        <function-decl name='makeobj' mangled-name='_ZN16NurbsTessellator7makeobjEi' filepath='libnurbs/internals/nurbstess.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86' is-artificial='yes'/>
-          <!-- artificial parameter of type 'int' -->
-          <parameter type-id='type-id-11' is-artificial='yes'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-      <member-function access='private' vtable-offset='5'>
-        <!-- void NurbsTessellator::closeobj() -->
-        <function-decl name='closeobj' mangled-name='_ZN16NurbsTessellator8closeobjEv' filepath='libnurbs/internals/nurbstess.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86' is-artificial='yes'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-      <member-function access='private' vtable-offset='6'>
-        <!-- void NurbsTessellator::errorHandler(int) -->
-        <function-decl name='errorHandler' mangled-name='_ZN16NurbsTessellator12errorHandlerEi' filepath='libnurbs/internals/nurbstess.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86' is-artificial='yes'/>
-          <!-- artificial parameter of type 'int' -->
-          <parameter type-id='type-id-11' is-artificial='yes'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-    </class-decl>
-    <!-- const GLint* -->
-    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-62'/>
     <!-- struct BasicSurfaceEvaluator -->
     <class-decl name='BasicSurfaceEvaluator' size-in-bits='64' is-struct='yes' visibility='default' filepath='libnurbs/internals/basicsurfeval.h' line='43' column='1' id='type-id-48'>
       <!-- class CachingEvaluator -->
@@ -1958,7 +1752,7 @@ 
         <!-- BasicSurfaceEvaluator::~BasicSurfaceEvaluator(int) -->
         <function-decl name='~BasicSurfaceEvaluator' filepath='libnurbs/internals/basicsurfeval.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -1969,7 +1763,7 @@ 
         <!-- void BasicSurfaceEvaluator::range2f(long int, REAL*, REAL*) -->
         <function-decl name='range2f' mangled-name='_ZN21BasicSurfaceEvaluator7range2fElPfS0_' filepath='libnurbs/internals/basicsurfeval.cc' line='65' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- parameter of type 'REAL*' -->
@@ -1984,7 +1778,7 @@ 
         <!-- void BasicSurfaceEvaluator::domain2f(REAL, REAL, REAL, REAL) -->
         <function-decl name='domain2f' mangled-name='_ZN21BasicSurfaceEvaluator8domain2fEffff' filepath='libnurbs/internals/basicsurfeval.cc' line='49' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'typedef REAL' -->
           <parameter type-id='type-id-1'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -2001,7 +1795,7 @@ 
         <!-- void BasicSurfaceEvaluator::enable(long int) -->
         <function-decl name='enable' mangled-name='_ZN21BasicSurfaceEvaluator6enableEl' filepath='libnurbs/internals/basicsurfeval.cc' line='74' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- void -->
@@ -2012,7 +1806,7 @@ 
         <!-- void BasicSurfaceEvaluator::disable(long int) -->
         <function-decl name='disable' mangled-name='_ZN21BasicSurfaceEvaluator7disableEl' filepath='libnurbs/internals/basicsurfeval.cc' line='82' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- void -->
@@ -2023,7 +1817,7 @@ 
         <!-- void BasicSurfaceEvaluator::bgnmap2f(long int) -->
         <function-decl name='bgnmap2f' mangled-name='_ZN21BasicSurfaceEvaluator8bgnmap2fEl' filepath='libnurbs/internals/basicsurfeval.cc' line='90' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- void -->
@@ -2034,7 +1828,7 @@ 
         <!-- void BasicSurfaceEvaluator::map2f(long int, REAL, REAL, long int, long int, REAL, REAL, long int, long int, REAL*) -->
         <function-decl name='map2f' mangled-name='_ZN21BasicSurfaceEvaluator5map2fElffllffllPf' filepath='libnurbs/internals/basicsurfeval.cc' line='106' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -2063,7 +1857,7 @@ 
         <!-- void BasicSurfaceEvaluator::mapgrid2f(long int, REAL, REAL, long int, REAL, REAL) -->
         <function-decl name='mapgrid2f' mangled-name='_ZN21BasicSurfaceEvaluator9mapgrid2fElfflff' filepath='libnurbs/internals/basicsurfeval.cc' line='116' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -2084,7 +1878,7 @@ 
         <!-- void BasicSurfaceEvaluator::mapmesh2f(long int, long int, long int, long int, long int) -->
         <function-decl name='mapmesh2f' mangled-name='_ZN21BasicSurfaceEvaluator9mapmesh2fElllll' filepath='libnurbs/internals/basicsurfeval.cc' line='124' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- parameter of type 'long int' -->
@@ -2103,7 +1897,7 @@ 
         <!-- void BasicSurfaceEvaluator::evalcoord2f(long int, REAL, REAL) -->
         <function-decl name='evalcoord2f' mangled-name='_ZN21BasicSurfaceEvaluator11evalcoord2fElff' filepath='libnurbs/internals/basicsurfeval.cc' line='132' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -2118,7 +1912,7 @@ 
         <!-- void BasicSurfaceEvaluator::evalpoint2i(long int, long int) -->
         <function-decl name='evalpoint2i' mangled-name='_ZN21BasicSurfaceEvaluator11evalpoint2iEll' filepath='libnurbs/internals/basicsurfeval.cc' line='140' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- parameter of type 'long int' -->
@@ -2131,7 +1925,7 @@ 
         <!-- void BasicSurfaceEvaluator::endmap2f() -->
         <function-decl name='endmap2f' mangled-name='_ZN21BasicSurfaceEvaluator8endmap2fEv' filepath='libnurbs/internals/basicsurfeval.cc' line='98' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -2140,7 +1934,7 @@ 
         <!-- void BasicSurfaceEvaluator::polymode(long int) -->
         <function-decl name='polymode' mangled-name='_ZN21BasicSurfaceEvaluator8polymodeEl' filepath='libnurbs/internals/basicsurfeval.cc' line='57' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- void -->
@@ -2151,7 +1945,7 @@ 
         <!-- void BasicSurfaceEvaluator::bgnline() -->
         <function-decl name='bgnline' mangled-name='_ZN21BasicSurfaceEvaluator7bgnlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='148' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -2160,7 +1954,7 @@ 
         <!-- void BasicSurfaceEvaluator::endline() -->
         <function-decl name='endline' mangled-name='_ZN21BasicSurfaceEvaluator7endlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='156' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -2169,7 +1963,7 @@ 
         <!-- void BasicSurfaceEvaluator::bgnclosedline() -->
         <function-decl name='bgnclosedline' mangled-name='_ZN21BasicSurfaceEvaluator13bgnclosedlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='164' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -2178,7 +1972,7 @@ 
         <!-- void BasicSurfaceEvaluator::endclosedline() -->
         <function-decl name='endclosedline' mangled-name='_ZN21BasicSurfaceEvaluator13endclosedlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='172' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -2187,7 +1981,7 @@ 
         <!-- void BasicSurfaceEvaluator::bgntmesh() -->
         <function-decl name='bgntmesh' mangled-name='_ZN21BasicSurfaceEvaluator8bgntmeshEv' filepath='libnurbs/internals/basicsurfeval.cc' line='194' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -2196,7 +1990,7 @@ 
         <!-- void BasicSurfaceEvaluator::swaptmesh() -->
         <function-decl name='swaptmesh' mangled-name='_ZN21BasicSurfaceEvaluator9swaptmeshEv' filepath='libnurbs/internals/basicsurfeval.cc' line='202' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -2205,7 +1999,7 @@ 
         <!-- void BasicSurfaceEvaluator::endtmesh() -->
         <function-decl name='endtmesh' mangled-name='_ZN21BasicSurfaceEvaluator8endtmeshEv' filepath='libnurbs/internals/basicsurfeval.cc' line='210' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -2214,7 +2008,7 @@ 
         <!-- void BasicSurfaceEvaluator::bgnqstrip() -->
         <function-decl name='bgnqstrip' mangled-name='_ZN21BasicSurfaceEvaluator9bgnqstripEv' filepath='libnurbs/internals/basicsurfeval.cc' line='218' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -2223,7 +2017,7 @@ 
         <!-- void BasicSurfaceEvaluator::endqstrip() -->
         <function-decl name='endqstrip' mangled-name='_ZN21BasicSurfaceEvaluator9endqstripEv' filepath='libnurbs/internals/basicsurfeval.cc' line='226' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -2232,7 +2026,7 @@ 
         <!-- void BasicSurfaceEvaluator::bgntfan() -->
         <function-decl name='bgntfan' mangled-name='_ZN21BasicSurfaceEvaluator7bgntfanEv' filepath='libnurbs/internals/basicsurfeval.cc' line='180' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -2241,7 +2035,7 @@ 
         <!-- void BasicSurfaceEvaluator::endtfan() -->
         <function-decl name='endtfan' mangled-name='_ZN21BasicSurfaceEvaluator7endtfanEv' filepath='libnurbs/internals/basicsurfeval.cc' line='188' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -2250,7 +2044,7 @@ 
         <!-- void BasicSurfaceEvaluator::evalUStrip(int, REAL, REAL*, int, REAL, REAL*) -->
         <function-decl name='evalUStrip' mangled-name='_ZN21BasicSurfaceEvaluator10evalUStripEifPfifS0_' filepath='libnurbs/internals/basicsurfeval.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'int' -->
           <parameter type-id='type-id-11'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -2271,7 +2065,7 @@ 
         <!-- void BasicSurfaceEvaluator::evalVStrip(int, REAL, REAL*, int, REAL, REAL*) -->
         <function-decl name='evalVStrip' mangled-name='_ZN21BasicSurfaceEvaluator10evalVStripEifPfifS0_' filepath='libnurbs/internals/basicsurfeval.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'int' -->
           <parameter type-id='type-id-11'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -2292,7 +2086,7 @@ 
         <!-- void BasicSurfaceEvaluator::inDoEvalCoord2NOGE(REAL, REAL, REAL*, REAL*) -->
         <function-decl name='inDoEvalCoord2NOGE' mangled-name='_ZN21BasicSurfaceEvaluator18inDoEvalCoord2NOGEEffPfS0_' filepath='libnurbs/internals/basicsurfeval.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'typedef REAL' -->
           <parameter type-id='type-id-1'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -2309,7 +2103,7 @@ 
         <!-- void BasicSurfaceEvaluator::inDoEvalCoord2NOGE_BU(REAL, REAL, REAL*, REAL*) -->
         <function-decl name='inDoEvalCoord2NOGE_BU' mangled-name='_ZN21BasicSurfaceEvaluator21inDoEvalCoord2NOGE_BUEffPfS0_' filepath='libnurbs/internals/basicsurfeval.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'typedef REAL' -->
           <parameter type-id='type-id-1'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -2326,7 +2120,7 @@ 
         <!-- void BasicSurfaceEvaluator::inDoEvalCoord2NOGE_BV(REAL, REAL, REAL*, REAL*) -->
         <function-decl name='inDoEvalCoord2NOGE_BV' mangled-name='_ZN21BasicSurfaceEvaluator21inDoEvalCoord2NOGE_BVEffPfS0_' filepath='libnurbs/internals/basicsurfeval.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'typedef REAL' -->
           <parameter type-id='type-id-1'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -2343,7 +2137,7 @@ 
         <!-- void BasicSurfaceEvaluator::inPreEvaluateBV_intfac(REAL) -->
         <function-decl name='inPreEvaluateBV_intfac' mangled-name='_ZN21BasicSurfaceEvaluator22inPreEvaluateBV_intfacEf' filepath='libnurbs/internals/basicsurfeval.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'typedef REAL' -->
           <parameter type-id='type-id-1'/>
           <!-- void -->
@@ -2354,7 +2148,7 @@ 
         <!-- void BasicSurfaceEvaluator::inPreEvaluateBU_intfac(REAL) -->
         <function-decl name='inPreEvaluateBU_intfac' mangled-name='_ZN21BasicSurfaceEvaluator22inPreEvaluateBU_intfacEf' filepath='libnurbs/internals/basicsurfeval.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'typedef REAL' -->
           <parameter type-id='type-id-1'/>
           <!-- void -->
@@ -2362,95 +2156,345 @@ 
         </function-decl>
       </member-function>
     </class-decl>
-    <!-- typedef unsigned char GLboolean -->
-    <typedef-decl name='GLboolean' type-id='type-id-91' filepath='../../../include/GL/gl.h' line='150' column='1' id='type-id-45'/>
-    <!-- typedef unsigned int GLenum -->
-    <typedef-decl name='GLenum' type-id='type-id-92' filepath='../../../include/GL/gl.h' line='149' column='1' id='type-id-59'/>
-    <!-- typedef int GLint -->
-    <typedef-decl name='GLint' type-id='type-id-11' filepath='../../../include/GL/gl.h' line='155' column='1' id='type-id-63'/>
-    <!-- typedef void ()* _GLUfuncptr -->
-    <typedef-decl name='_GLUfuncptr' type-id='type-id-20' filepath='../../../include/GL/glu.h' line='287' column='1' id='type-id-60'/>
-    <!-- typedef void (typedef GLenum)* errorCallbackType -->
-    <typedef-decl name='errorCallbackType' type-id='type-id-19' filepath='libnurbs/interface/glrenderer.h' line='46' column='1' id='type-id-44'/>
-    <!-- typedef surfEvalMachine surfEvalMachine -->
-    <typedef-decl name='surfEvalMachine' type-id='type-id-93' filepath='libnurbs/interface/glsurfeval.h' line='80' column='1' id='type-id-54'/>
-    <!-- BasicCurveEvaluator& -->
-    <reference-type-def kind='lvalue' type-id='type-id-13' size-in-bits='64' id='type-id-87'/>
-    <!-- BasicSurfaceEvaluator& -->
-    <reference-type-def kind='lvalue' type-id='type-id-48' size-in-bits='64' id='type-id-88'/>
-    <!-- BasicSurfaceEvaluator* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-90'/>
-    <!-- DisplayList* -->
-    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-85'/>
-    <!-- JumpBuffer* -->
-    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-74'/>
-    <!-- NurbsTessellator* -->
-    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-86'/>
-    <!-- O_curve* -->
-    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-84'/>
-    <!-- O_curve** -->
-    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-78'/>
-    <!-- O_nurbscurve** -->
-    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-79'/>
-    <!-- O_nurbssurface** -->
-    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-81'/>
-    <!-- O_pwlcurve** -->
-    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-80'/>
-    <!-- O_surface* -->
-    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-82'/>
-    <!-- O_trim* -->
-    <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-83'/>
-    <!-- O_trim** -->
-    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-77'/>
-    <!-- StoredVertex* -->
-    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-67'/>
-    <!-- class Maplist -->
-    <class-decl name='Maplist' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/maplist.h' line='46' column='1' id='type-id-71'>
-      <data-member access='private' layout-offset-in-bits='0'>
-        <!-- Pool Maplist::mapdescPool -->
-        <var-decl name='mapdescPool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/maplist.h' line='58' column='1'/>
+    <!-- class NurbsTessellator -->
+    <class-decl name='NurbsTessellator' size-in-bits='47616' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='53' column='1' id='type-id-43'>
+      <data-member access='protected' layout-offset-in-bits='64'>
+        <!-- Renderhints NurbsTessellator::renderhints -->
+        <var-decl name='renderhints' type-id='type-id-71' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='104' column='1'/>
       </data-member>
-      <data-member access='private' layout-offset-in-bits='2496'>
-        <!-- Mapdesc* Maplist::maps -->
-        <var-decl name='maps' type-id='type-id-103' visibility='default' filepath='libnurbs/internals/maplist.h' line='59' column='1'/>
+      <data-member access='protected' layout-offset-in-bits='320'>
+        <!-- Maplist NurbsTessellator::maplist -->
+        <var-decl name='maplist' type-id='type-id-72' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='105' column='1'/>
       </data-member>
-      <data-member access='private' layout-offset-in-bits='2560'>
-        <!-- Mapdesc** Maplist::lastmap -->
-        <var-decl name='lastmap' type-id='type-id-104' visibility='default' filepath='libnurbs/internals/maplist.h' line='60' column='1'/>
+      <data-member access='protected' layout-offset-in-bits='3008'>
+        <!-- Backend NurbsTessellator::backend -->
+        <var-decl name='backend' type-id='type-id-73' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='106' column='1'/>
       </data-member>
-      <data-member access='private' layout-offset-in-bits='2624'>
-        <!-- Backend& Maplist::backend -->
-        <var-decl name='backend' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/maplist.h' line='61' column='1'/>
+      <data-member access='private' layout-offset-in-bits='3648'>
+        <!-- Subdivider NurbsTessellator::subdivider -->
+        <var-decl name='subdivider' type-id='type-id-74' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='134' column='1'/>
       </data-member>
-      <member-function access='private' constructor='yes'>
-        <!-- Maplist::Maplist(Backend&) -->
-        <function-decl name='Maplist' filepath='libnurbs/internals/maplist.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'Maplist*' -->
-          <parameter type-id='type-id-106' is-artificial='yes'/>
-          <!-- parameter of type 'Backend&' -->
-          <parameter type-id='type-id-107'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-    </class-decl>
-    <!-- class Pool -->
-    <class-decl name='Pool' size-in-bits='2496' visibility='default' filepath='libnurbs/internals/bufpool.h' line='50' column='1' id='type-id-75'>
-      <member-type access='protected'>
-        <!-- enum Pool::Magic -->
-        <enum-decl name='Magic' filepath='libnurbs/internals/bufpool.h' line='70' column='1' id='type-id-108'>
-          <underlying-type type-id='type-id-9'/>
-          <enumerator name='is_allocated' value='62369'/>
-          <enumerator name='is_free' value='61858'/>
-        </enum-decl>
-      </member-type>
-      <data-member access='protected' layout-offset-in-bits='0'>
-        <!-- Buffer* Pool::freelist -->
-        <var-decl name='freelist' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/bufpool.h' line='62' column='1'/>
+      <data-member access='private' layout-offset-in-bits='24064'>
+        <!-- JumpBuffer* NurbsTessellator::jumpbuffer -->
+        <var-decl name='jumpbuffer' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='135' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='24128'>
+        <!-- Pool NurbsTessellator::o_pwlcurvePool -->
+        <var-decl name='o_pwlcurvePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='136' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='26624'>
+        <!-- Pool NurbsTessellator::o_nurbscurvePool -->
+        <var-decl name='o_nurbscurvePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='137' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='29120'>
+        <!-- Pool NurbsTessellator::o_curvePool -->
+        <var-decl name='o_curvePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='138' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='31616'>
+        <!-- Pool NurbsTessellator::o_trimPool -->
+        <var-decl name='o_trimPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='139' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='34112'>
+        <!-- Pool NurbsTessellator::o_surfacePool -->
+        <var-decl name='o_surfacePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='140' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='36608'>
+        <!-- Pool NurbsTessellator::o_nurbssurfacePool -->
+        <var-decl name='o_nurbssurfacePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='141' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='39104'>
+        <!-- Pool NurbsTessellator::propertyPool -->
+        <var-decl name='propertyPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='142' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='41600'>
+        <!-- Pool NurbsTessellator::quiltPool -->
+        <var-decl name='quiltPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='144' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='44096'>
+        <!-- TrimVertexPool NurbsTessellator::extTrimVertexPool -->
+        <var-decl name='extTrimVertexPool' type-id='type-id-77' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='146' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='46720'>
+        <!-- int NurbsTessellator::inSurface -->
+        <var-decl name='inSurface' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='148' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='46752'>
+        <!-- int NurbsTessellator::inCurve -->
+        <var-decl name='inCurve' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='149' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='46784'>
+        <!-- int NurbsTessellator::inTrim -->
+        <var-decl name='inTrim' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='150' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='46816'>
+        <!-- int NurbsTessellator::isCurveModified -->
+        <var-decl name='isCurveModified' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='151' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='46848'>
+        <!-- int NurbsTessellator::isTrimModified -->
+        <var-decl name='isTrimModified' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='152' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='46880'>
+        <!-- int NurbsTessellator::isSurfaceModified -->
+        <var-decl name='isSurfaceModified' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='153' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='46912'>
+        <!-- int NurbsTessellator::isDataValid -->
+        <var-decl name='isDataValid' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='154' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='46944'>
+        <!-- int NurbsTessellator::numTrims -->
+        <var-decl name='numTrims' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='155' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='46976'>
+        <!-- int NurbsTessellator::playBack -->
+        <var-decl name='playBack' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='156' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='47040'>
+        <!-- O_trim** NurbsTessellator::nextTrim -->
+        <var-decl name='nextTrim' type-id='type-id-78' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='158' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='47104'>
+        <!-- O_curve** NurbsTessellator::nextCurve -->
+        <var-decl name='nextCurve' type-id='type-id-79' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='159' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='47168'>
+        <!-- O_nurbscurve** NurbsTessellator::nextNurbscurve -->
+        <var-decl name='nextNurbscurve' type-id='type-id-80' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='160' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='47232'>
+        <!-- O_pwlcurve** NurbsTessellator::nextPwlcurve -->
+        <var-decl name='nextPwlcurve' type-id='type-id-81' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='161' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='47296'>
+        <!-- O_nurbssurface** NurbsTessellator::nextNurbssurface -->
+        <var-decl name='nextNurbssurface' type-id='type-id-82' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='162' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='47360'>
+        <!-- O_surface* NurbsTessellator::currentSurface -->
+        <var-decl name='currentSurface' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='164' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='47424'>
+        <!-- O_trim* NurbsTessellator::currentTrim -->
+        <var-decl name='currentTrim' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='165' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='47488'>
+        <!-- O_curve* NurbsTessellator::currentCurve -->
+        <var-decl name='currentCurve' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='166' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='47552'>
+        <!-- DisplayList* NurbsTessellator::dl -->
+        <var-decl name='dl' type-id='type-id-86' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='168' column='1'/>
+      </data-member>
+      <member-function access='private' constructor='yes'>
+        <!-- NurbsTessellator::NurbsTessellator(BasicCurveEvaluator&, BasicSurfaceEvaluator&) -->
+        <function-decl name='NurbsTessellator' filepath='libnurbs/internals/nurbsinterfac.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'NurbsTessellator*' -->
+          <parameter type-id='type-id-87' is-artificial='yes'/>
+          <!-- parameter of type 'BasicCurveEvaluator&' -->
+          <parameter type-id='type-id-88'/>
+          <!-- parameter of type 'BasicSurfaceEvaluator&' -->
+          <parameter type-id='type-id-89'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+      <member-function access='private' destructor='yes' vtable-offset='-1'>
+        <!-- NurbsTessellator::~NurbsTessellator(int) -->
+        <function-decl name='~NurbsTessellator' filepath='libnurbs/internals/nurbsinterfac.cc' line='88' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'NurbsTessellator*' -->
+          <parameter type-id='type-id-87' is-artificial='yes'/>
+          <!-- artificial parameter of type 'int' -->
+          <parameter type-id='type-id-11' is-artificial='yes'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+      <member-function access='private' vtable-offset='2'>
+        <!-- void NurbsTessellator::bgnrender() -->
+        <function-decl name='bgnrender' mangled-name='_ZN16NurbsTessellator9bgnrenderEv' filepath='libnurbs/internals/nurbstess.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'NurbsTessellator*' -->
+          <parameter type-id='type-id-87' is-artificial='yes'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+      <member-function access='private' vtable-offset='3'>
+        <!-- void NurbsTessellator::endrender() -->
+        <function-decl name='endrender' mangled-name='_ZN16NurbsTessellator9endrenderEv' filepath='libnurbs/internals/nurbstess.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'NurbsTessellator*' -->
+          <parameter type-id='type-id-87' is-artificial='yes'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+      <member-function access='private' vtable-offset='4'>
+        <!-- void NurbsTessellator::makeobj(int) -->
+        <function-decl name='makeobj' mangled-name='_ZN16NurbsTessellator7makeobjEi' filepath='libnurbs/internals/nurbstess.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'NurbsTessellator*' -->
+          <parameter type-id='type-id-87' is-artificial='yes'/>
+          <!-- artificial parameter of type 'int' -->
+          <parameter type-id='type-id-11' is-artificial='yes'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+      <member-function access='private' vtable-offset='5'>
+        <!-- void NurbsTessellator::closeobj() -->
+        <function-decl name='closeobj' mangled-name='_ZN16NurbsTessellator8closeobjEv' filepath='libnurbs/internals/nurbstess.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'NurbsTessellator*' -->
+          <parameter type-id='type-id-87' is-artificial='yes'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+      <member-function access='private' vtable-offset='6'>
+        <!-- void NurbsTessellator::errorHandler(int) -->
+        <function-decl name='errorHandler' mangled-name='_ZN16NurbsTessellator12errorHandlerEi' filepath='libnurbs/internals/nurbstess.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'NurbsTessellator*' -->
+          <parameter type-id='type-id-87' is-artificial='yes'/>
+          <!-- artificial parameter of type 'int' -->
+          <parameter type-id='type-id-11' is-artificial='yes'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+    </class-decl>
+    <!-- const GLint* -->
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-62'/>
+    <!-- typedef unsigned char GLboolean -->
+    <typedef-decl name='GLboolean' type-id='type-id-91' filepath='../../../include/GL/gl.h' line='150' column='1' id='type-id-45'/>
+    <!-- typedef unsigned int GLenum -->
+    <typedef-decl name='GLenum' type-id='type-id-92' filepath='../../../include/GL/gl.h' line='149' column='1' id='type-id-59'/>
+    <!-- typedef int GLint -->
+    <typedef-decl name='GLint' type-id='type-id-11' filepath='../../../include/GL/gl.h' line='155' column='1' id='type-id-63'/>
+    <!-- typedef void ()* _GLUfuncptr -->
+    <typedef-decl name='_GLUfuncptr' type-id='type-id-20' filepath='../../../include/GL/glu.h' line='287' column='1' id='type-id-60'/>
+    <!-- typedef void (typedef GLenum)* errorCallbackType -->
+    <typedef-decl name='errorCallbackType' type-id='type-id-19' filepath='libnurbs/interface/glrenderer.h' line='46' column='1' id='type-id-44'/>
+    <!-- typedef surfEvalMachine surfEvalMachine -->
+    <typedef-decl name='surfEvalMachine' type-id='type-id-93' filepath='libnurbs/interface/glsurfeval.h' line='80' column='1' id='type-id-54'/>
+    <!-- BasicCurveEvaluator& -->
+    <reference-type-def kind='lvalue' type-id='type-id-13' size-in-bits='64' id='type-id-88'/>
+    <!-- BasicSurfaceEvaluator& -->
+    <reference-type-def kind='lvalue' type-id='type-id-48' size-in-bits='64' id='type-id-89'/>
+    <!-- BasicSurfaceEvaluator* -->
+    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-70'/>
+    <!-- DisplayList* -->
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-86'/>
+    <!-- JumpBuffer* -->
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-75'/>
+    <!-- NurbsTessellator* -->
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-87'/>
+    <!-- O_curve* -->
+    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-85'/>
+    <!-- O_curve** -->
+    <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-79'/>
+    <!-- O_nurbscurve** -->
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-80'/>
+    <!-- O_nurbssurface** -->
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-82'/>
+    <!-- O_pwlcurve** -->
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-81'/>
+    <!-- O_surface* -->
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-83'/>
+    <!-- O_trim* -->
+    <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-84'/>
+    <!-- O_trim** -->
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-78'/>
+    <!-- StoredVertex* -->
+    <pointer-type-def type-id='type-id-102' size-in-bits='64' id='type-id-67'/>
+    <!-- struct Backend -->
+    <class-decl name='Backend' size-in-bits='640' is-struct='yes' visibility='default' filepath='libnurbs/internals/backend.h' line='46' column='1' id='type-id-73'>
+      <data-member access='private' layout-offset-in-bits='0'>
+        <!-- BasicCurveEvaluator& Backend::curveEvaluator -->
+        <var-decl name='curveEvaluator' type-id='type-id-103' visibility='default' filepath='libnurbs/internals/backend.h' line='48' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='64'>
+        <!-- BasicSurfaceEvaluator& Backend::surfaceEvaluator -->
+        <var-decl name='surfaceEvaluator' type-id='type-id-104' visibility='default' filepath='libnurbs/internals/backend.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='128'>
+        <!-- int Backend::wireframetris -->
+        <var-decl name='wireframetris' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='105' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='160'>
+        <!-- int Backend::wireframequads -->
+        <var-decl name='wireframequads' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='106' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='192'>
+        <!-- int Backend::npts -->
+        <var-decl name='npts' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='107' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='224'>
+        <!-- REAL Backend::mesh[3][4] -->
+        <var-decl name='mesh' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/backend.h' line='108' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='608'>
+        <!-- int Backend::meshindex -->
+        <var-decl name='meshindex' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='109' column='1'/>
+      </data-member>
+      <member-function access='public' constructor='yes'>
+        <!-- Backend::Backend(BasicCurveEvaluator&, BasicSurfaceEvaluator&) -->
+        <function-decl name='Backend' filepath='libnurbs/internals/backend.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'Backend*' -->
+          <parameter type-id='type-id-106' is-artificial='yes'/>
+          <!-- parameter of type 'BasicCurveEvaluator&' -->
+          <parameter type-id='type-id-88'/>
+          <!-- parameter of type 'BasicSurfaceEvaluator&' -->
+          <parameter type-id='type-id-89'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+    </class-decl>
+    <!-- class Maplist -->
+    <class-decl name='Maplist' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/maplist.h' line='46' column='1' id='type-id-72'>
+      <data-member access='private' layout-offset-in-bits='0'>
+        <!-- Pool Maplist::mapdescPool -->
+        <var-decl name='mapdescPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/maplist.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='2496'>
+        <!-- Mapdesc* Maplist::maps -->
+        <var-decl name='maps' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/maplist.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='2560'>
+        <!-- Mapdesc** Maplist::lastmap -->
+        <var-decl name='lastmap' type-id='type-id-108' visibility='default' filepath='libnurbs/internals/maplist.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='2624'>
+        <!-- Backend& Maplist::backend -->
+        <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/maplist.h' line='61' column='1'/>
+      </data-member>
+      <member-function access='private' constructor='yes'>
+        <!-- Maplist::Maplist(Backend&) -->
+        <function-decl name='Maplist' filepath='libnurbs/internals/maplist.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'Maplist*' -->
+          <parameter type-id='type-id-110' is-artificial='yes'/>
+          <!-- parameter of type 'Backend&' -->
+          <parameter type-id='type-id-111'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+    </class-decl>
+    <!-- class Pool -->
+    <class-decl name='Pool' size-in-bits='2496' visibility='default' filepath='libnurbs/internals/bufpool.h' line='50' column='1' id='type-id-76'>
+      <member-type access='protected'>
+        <!-- enum Pool::Magic -->
+        <enum-decl name='Magic' filepath='libnurbs/internals/bufpool.h' line='70' column='1' id='type-id-112'>
+          <underlying-type type-id='type-id-9'/>
+          <enumerator name='is_allocated' value='62369'/>
+          <enumerator name='is_free' value='61858'/>
+        </enum-decl>
+      </member-type>
+      <data-member access='protected' layout-offset-in-bits='0'>
+        <!-- Buffer* Pool::freelist -->
+        <var-decl name='freelist' type-id='type-id-113' visibility='default' filepath='libnurbs/internals/bufpool.h' line='62' column='1'/>
       </data-member>
       <data-member access='protected' layout-offset-in-bits='64'>
         <!-- char* Pool::blocklist[32] -->
-        <var-decl name='blocklist' type-id='type-id-110' visibility='default' filepath='libnurbs/internals/bufpool.h' line='63' column='1'/>
+        <var-decl name='blocklist' type-id='type-id-114' visibility='default' filepath='libnurbs/internals/bufpool.h' line='63' column='1'/>
       </data-member>
       <data-member access='protected' layout-offset-in-bits='2112'>
         <!-- int Pool::nextblock -->
@@ -2458,7 +2502,7 @@ 
       </data-member>
       <data-member access='protected' layout-offset-in-bits='2176'>
         <!-- char* Pool::curblock -->
-        <var-decl name='curblock' type-id='type-id-111' visibility='default' filepath='libnurbs/internals/bufpool.h' line='65' column='1'/>
+        <var-decl name='curblock' type-id='type-id-115' visibility='default' filepath='libnurbs/internals/bufpool.h' line='65' column='1'/>
       </data-member>
       <data-member access='protected' layout-offset-in-bits='2240'>
         <!-- int Pool::buffersize -->
@@ -2478,23 +2522,23 @@ 
       </data-member>
       <data-member access='protected' layout-offset-in-bits='2368'>
         <!-- const char* Pool::name -->
-        <var-decl name='name' type-id='type-id-112' visibility='default' filepath='libnurbs/internals/bufpool.h' line='71' column='1'/>
+        <var-decl name='name' type-id='type-id-116' visibility='default' filepath='libnurbs/internals/bufpool.h' line='71' column='1'/>
       </data-member>
       <data-member access='protected' layout-offset-in-bits='2432'>
         <!-- Pool::Magic Pool::magic -->
-        <var-decl name='magic' type-id='type-id-108' visibility='default' filepath='libnurbs/internals/bufpool.h' line='72' column='1'/>
+        <var-decl name='magic' type-id='type-id-112' visibility='default' filepath='libnurbs/internals/bufpool.h' line='72' column='1'/>
       </data-member>
       <member-function access='private' constructor='yes'>
         <!-- Pool::Pool(int, int, const char*) -->
         <function-decl name='Pool' filepath='libnurbs/internals/bufpool.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Pool*' -->
-          <parameter type-id='type-id-113' is-artificial='yes'/>
+          <parameter type-id='type-id-117' is-artificial='yes'/>
           <!-- parameter of type 'int' -->
           <parameter type-id='type-id-11'/>
           <!-- parameter of type 'int' -->
           <parameter type-id='type-id-11'/>
           <!-- parameter of type 'const char*' -->
-          <parameter type-id='type-id-112'/>
+          <parameter type-id='type-id-116'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -2503,7 +2547,7 @@ 
         <!-- Pool::~Pool(int) -->
         <function-decl name='~Pool' filepath='libnurbs/internals/bufpool.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Pool*' -->
-          <parameter type-id='type-id-113' is-artificial='yes'/>
+          <parameter type-id='type-id-117' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -2511,11 +2555,55 @@ 
         </function-decl>
       </member-function>
     </class-decl>
+    <!-- struct Renderhints -->
+    <class-decl name='Renderhints' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/renderhints.h' line='41' column='1' id='type-id-71'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- REAL Renderhints::display_method -->
+        <var-decl name='display_method' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='49' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- REAL Renderhints::errorchecking -->
+        <var-decl name='errorchecking' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- REAL Renderhints::subdivisions -->
+        <var-decl name='subdivisions' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <!-- REAL Renderhints::tmp1 -->
+        <var-decl name='tmp1' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int Renderhints::displaydomain -->
+        <var-decl name='displaydomain' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <!-- int Renderhints::maxsubdivisions -->
+        <var-decl name='maxsubdivisions' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- int Renderhints::wiretris -->
+        <var-decl name='wiretris' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <!-- int Renderhints::wirequads -->
+        <var-decl name='wirequads' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='57' column='1'/>
+      </data-member>
+      <member-function access='public' constructor='yes'>
+        <!-- Renderhints::Renderhints() -->
+        <function-decl name='Renderhints' filepath='libnurbs/internals/renderhints.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'Renderhints*' -->
+          <parameter type-id='type-id-118' is-artificial='yes'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+    </class-decl>
     <!-- class Subdivider -->
-    <class-decl name='Subdivider' size-in-bits='20416' visibility='default' filepath='libnurbs/internals/subdivider.h' line='55' column='1' id='type-id-73'>
+    <class-decl name='Subdivider' size-in-bits='20416' visibility='default' filepath='libnurbs/internals/subdivider.h' line='55' column='1' id='type-id-74'>
       <member-type access='private'>
         <!-- enum Subdivider::dir -->
-        <enum-decl name='dir' filepath='libnurbs/internals/subdivider.h' line='105' column='1' id='type-id-114'>
+        <enum-decl name='dir' filepath='libnurbs/internals/subdivider.h' line='105' column='1' id='type-id-119'>
           <underlying-type type-id='type-id-9'/>
           <enumerator name='down' value='0'/>
           <enumerator name='same' value='1'/>
@@ -2525,47 +2613,47 @@ 
       </member-type>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- Slicer Subdivider::slicer -->
-        <var-decl name='slicer' type-id='type-id-115' visibility='default' filepath='libnurbs/internals/subdivider.h' line='112' column='1'/>
+        <var-decl name='slicer' type-id='type-id-120' visibility='default' filepath='libnurbs/internals/subdivider.h' line='112' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='8064'>
         <!-- ArcTessellator Subdivider::arctessellator -->
-        <var-decl name='arctessellator' type-id='type-id-116' visibility='default' filepath='libnurbs/internals/subdivider.h' line='113' column='1'/>
+        <var-decl name='arctessellator' type-id='type-id-121' visibility='default' filepath='libnurbs/internals/subdivider.h' line='113' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='8192'>
         <!-- Pool Subdivider::arcpool -->
-        <var-decl name='arcpool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/subdivider.h' line='114' column='1'/>
+        <var-decl name='arcpool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/subdivider.h' line='114' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='10688'>
         <!-- Pool Subdivider::bezierarcpool -->
-        <var-decl name='bezierarcpool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/subdivider.h' line='115' column='1'/>
+        <var-decl name='bezierarcpool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/subdivider.h' line='115' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='13184'>
         <!-- Pool Subdivider::pwlarcpool -->
-        <var-decl name='pwlarcpool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/subdivider.h' line='116' column='1'/>
+        <var-decl name='pwlarcpool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/subdivider.h' line='116' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='15680'>
         <!-- TrimVertexPool Subdivider::trimvertexpool -->
-        <var-decl name='trimvertexpool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/subdivider.h' line='117' column='1'/>
+        <var-decl name='trimvertexpool' type-id='type-id-77' visibility='default' filepath='libnurbs/internals/subdivider.h' line='117' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='18304'>
         <!-- JumpBuffer* Subdivider::jumpbuffer -->
-        <var-decl name='jumpbuffer' type-id='type-id-74' visibility='default' filepath='libnurbs/internals/subdivider.h' line='119' column='1'/>
+        <var-decl name='jumpbuffer' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/subdivider.h' line='119' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='18368'>
         <!-- Renderhints& Subdivider::renderhints -->
-        <var-decl name='renderhints' type-id='type-id-117' visibility='default' filepath='libnurbs/internals/subdivider.h' line='120' column='1'/>
+        <var-decl name='renderhints' type-id='type-id-122' visibility='default' filepath='libnurbs/internals/subdivider.h' line='120' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='18432'>
         <!-- Backend& Subdivider::backend -->
-        <var-decl name='backend' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/subdivider.h' line='121' column='1'/>
+        <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/subdivider.h' line='121' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='18496'>
         <!-- Bin Subdivider::initialbin -->
-        <var-decl name='initialbin' type-id='type-id-118' visibility='default' filepath='libnurbs/internals/subdivider.h' line='123' column='1'/>
+        <var-decl name='initialbin' type-id='type-id-123' visibility='default' filepath='libnurbs/internals/subdivider.h' line='123' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='18624'>
         <!-- Arc_ptr Subdivider::pjarc -->
-        <var-decl name='pjarc' type-id='type-id-119' visibility='default' filepath='libnurbs/internals/subdivider.h' line='124' column='1'/>
+        <var-decl name='pjarc' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/subdivider.h' line='124' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='18688'>
         <!-- int Subdivider::s_index -->
@@ -2577,27 +2665,27 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='18752'>
         <!-- Quilt* Subdivider::qlist -->
-        <var-decl name='qlist' type-id='type-id-120' visibility='default' filepath='libnurbs/internals/subdivider.h' line='127' column='1'/>
+        <var-decl name='qlist' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/subdivider.h' line='127' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='18816'>
         <!-- Flist Subdivider::spbrkpts -->
-        <var-decl name='spbrkpts' type-id='type-id-121' visibility='default' filepath='libnurbs/internals/subdivider.h' line='128' column='1'/>
+        <var-decl name='spbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='128' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='19136'>
         <!-- Flist Subdivider::tpbrkpts -->
-        <var-decl name='tpbrkpts' type-id='type-id-121' visibility='default' filepath='libnurbs/internals/subdivider.h' line='129' column='1'/>
+        <var-decl name='tpbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='129' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='19456'>
         <!-- Flist Subdivider::smbrkpts -->
-        <var-decl name='smbrkpts' type-id='type-id-121' visibility='default' filepath='libnurbs/internals/subdivider.h' line='130' column='1'/>
+        <var-decl name='smbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='130' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='19776'>
         <!-- Flist Subdivider::tmbrkpts -->
-        <var-decl name='tmbrkpts' type-id='type-id-121' visibility='default' filepath='libnurbs/internals/subdivider.h' line='131' column='1'/>
+        <var-decl name='tmbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='131' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='20096'>
         <!-- REAL Subdivider::stepsizes[4] -->
-        <var-decl name='stepsizes' type-id='type-id-122' visibility='default' filepath='libnurbs/internals/subdivider.h' line='132' column='1'/>
+        <var-decl name='stepsizes' type-id='type-id-127' visibility='default' filepath='libnurbs/internals/subdivider.h' line='132' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='20224'>
         <!-- int Subdivider::showDegenerate -->
@@ -2623,11 +2711,11 @@ 
         <!-- Subdivider::Subdivider(Renderhints&, Backend&) -->
         <function-decl name='Subdivider' filepath='libnurbs/internals/subdivider.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Subdivider*' -->
-          <parameter type-id='type-id-123' is-artificial='yes'/>
+          <parameter type-id='type-id-128' is-artificial='yes'/>
           <!-- parameter of type 'Renderhints&' -->
-          <parameter type-id='type-id-124'/>
+          <parameter type-id='type-id-129'/>
           <!-- parameter of type 'Backend&' -->
-          <parameter type-id='type-id-107'/>
+          <parameter type-id='type-id-111'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -2636,7 +2724,7 @@ 
         <!-- Subdivider::~Subdivider(int) -->
         <function-decl name='~Subdivider' filepath='libnurbs/internals/subdivider.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Subdivider*' -->
-          <parameter type-id='type-id-123' is-artificial='yes'/>
+          <parameter type-id='type-id-128' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -2644,101 +2732,11 @@ 
         </function-decl>
       </member-function>
     </class-decl>
-    <!-- const GLint -->
-    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-89'/>
-    <!-- struct Backend -->
-    <class-decl name='Backend' size-in-bits='640' is-struct='yes' visibility='default' filepath='libnurbs/internals/backend.h' line='46' column='1' id='type-id-72'>
-      <data-member access='private' layout-offset-in-bits='0'>
-        <!-- BasicCurveEvaluator& Backend::curveEvaluator -->
-        <var-decl name='curveEvaluator' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/backend.h' line='48' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='64'>
-        <!-- BasicSurfaceEvaluator& Backend::surfaceEvaluator -->
-        <var-decl name='surfaceEvaluator' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/backend.h' line='49' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='128'>
-        <!-- int Backend::wireframetris -->
-        <var-decl name='wireframetris' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='105' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='160'>
-        <!-- int Backend::wireframequads -->
-        <var-decl name='wireframequads' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='106' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='192'>
-        <!-- int Backend::npts -->
-        <var-decl name='npts' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='107' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='224'>
-        <!-- REAL Backend::mesh[3][4] -->
-        <var-decl name='mesh' type-id='type-id-127' visibility='default' filepath='libnurbs/internals/backend.h' line='108' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='608'>
-        <!-- int Backend::meshindex -->
-        <var-decl name='meshindex' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/backend.h' line='109' column='1'/>
-      </data-member>
-      <member-function access='public' constructor='yes'>
-        <!-- Backend::Backend(BasicCurveEvaluator&, BasicSurfaceEvaluator&) -->
-        <function-decl name='Backend' filepath='libnurbs/internals/backend.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'Backend*' -->
-          <parameter type-id='type-id-128' is-artificial='yes'/>
-          <!-- parameter of type 'BasicCurveEvaluator&' -->
-          <parameter type-id='type-id-87'/>
-          <!-- parameter of type 'BasicSurfaceEvaluator&' -->
-          <parameter type-id='type-id-88'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-    </class-decl>
-    <!-- struct Renderhints -->
-    <class-decl name='Renderhints' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/renderhints.h' line='41' column='1' id='type-id-70'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- REAL Renderhints::display_method -->
-        <var-decl name='display_method' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='49' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='32'>
-        <!-- REAL Renderhints::errorchecking -->
-        <var-decl name='errorchecking' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='50' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- REAL Renderhints::subdivisions -->
-        <var-decl name='subdivisions' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='51' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='96'>
-        <!-- REAL Renderhints::tmp1 -->
-        <var-decl name='tmp1' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='52' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='128'>
-        <!-- int Renderhints::displaydomain -->
-        <var-decl name='displaydomain' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='54' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='160'>
-        <!-- int Renderhints::maxsubdivisions -->
-        <var-decl name='maxsubdivisions' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='55' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='192'>
-        <!-- int Renderhints::wiretris -->
-        <var-decl name='wiretris' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='56' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='224'>
-        <!-- int Renderhints::wirequads -->
-        <var-decl name='wirequads' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/renderhints.h' line='57' column='1'/>
-      </data-member>
-      <member-function access='public' constructor='yes'>
-        <!-- Renderhints::Renderhints() -->
-        <function-decl name='Renderhints' filepath='libnurbs/internals/renderhints.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'Renderhints*' -->
-          <parameter type-id='type-id-129' is-artificial='yes'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-    </class-decl>
     <!-- struct TrimVertexPool -->
-    <class-decl name='TrimVertexPool' size-in-bits='2624' is-struct='yes' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='45' column='1' id='type-id-76'>
+    <class-decl name='TrimVertexPool' size-in-bits='2624' is-struct='yes' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='45' column='1' id='type-id-77'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- Pool TrimVertexPool::pool -->
-        <var-decl name='pool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='52' column='1'/>
+        <var-decl name='pool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='52' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='2496'>
         <!-- TrimVertex** TrimVertexPool::vlist -->
@@ -2915,30 +2913,32 @@ 
         <var-decl name='vcoeffDeriv' type-id='type-id-5' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='79' column='1'/>
       </data-member>
     </class-decl>
+    <!-- const GLint -->
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-90'/>
     <!-- unsigned char -->
     <type-decl name='unsigned char' size-in-bits='8' id='type-id-91'/>
     <!-- unsigned int -->
     <type-decl name='unsigned int' size-in-bits='32' id='type-id-92'/>
     <!-- Backend& -->
-    <qualified-type-def type-id='type-id-107' id='type-id-105'/>
+    <qualified-type-def type-id='type-id-111' id='type-id-109'/>
     <!-- Backend& -->
-    <reference-type-def kind='lvalue' type-id='type-id-72' size-in-bits='64' id='type-id-107'/>
+    <reference-type-def kind='lvalue' type-id='type-id-73' size-in-bits='64' id='type-id-111'/>
     <!-- Backend* -->
-    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-106'/>
     <!-- BasicCurveEvaluator& -->
-    <qualified-type-def type-id='type-id-87' id='type-id-125'/>
+    <qualified-type-def type-id='type-id-88' id='type-id-103'/>
     <!-- BasicSurfaceEvaluator& -->
-    <qualified-type-def type-id='type-id-88' id='type-id-126'/>
+    <qualified-type-def type-id='type-id-89' id='type-id-104'/>
     <!-- Buffer* -->
-    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-109'/>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-113'/>
     <!-- GLenum* -->
     <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-134'/>
     <!-- Mapdesc* -->
-    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-103'/>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-107'/>
     <!-- Mapdesc** -->
-    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-108'/>
     <!-- Maplist* -->
-    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-110'/>
     <!-- O_nurbscurve* -->
     <pointer-type-def type-id='type-id-137' size-in-bits='64' id='type-id-97'/>
     <!-- O_nurbssurface* -->
@@ -2946,44 +2946,44 @@ 
     <!-- O_pwlcurve* -->
     <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-99'/>
     <!-- Pool* -->
-    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-117'/>
     <!-- Quilt* -->
-    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-125'/>
     <!-- REAL[3][4] -->
-    <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='384' id='type-id-127'>
+    <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='384' id='type-id-105'>
       <!-- <anonymous range>[3] -->
       <subrange length='3' type-id='type-id-3' id='type-id-68'/>
       <!-- <anonymous range>[4] -->
       <subrange length='4' type-id='type-id-3' id='type-id-65'/>
     </array-type-def>
     <!-- REAL[4] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='128' id='type-id-122'>
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='128' id='type-id-127'>
       <!-- <anonymous range>[4] -->
       <subrange length='4' type-id='type-id-3' id='type-id-65'/>
     </array-type-def>
     <!-- Renderhints& -->
-    <qualified-type-def type-id='type-id-124' id='type-id-117'/>
+    <qualified-type-def type-id='type-id-129' id='type-id-122'/>
     <!-- Renderhints& -->
-    <reference-type-def kind='lvalue' type-id='type-id-70' size-in-bits='64' id='type-id-124'/>
+    <reference-type-def kind='lvalue' type-id='type-id-71' size-in-bits='64' id='type-id-129'/>
     <!-- Renderhints* -->
-    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-129'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-118'/>
     <!-- Subdivider* -->
-    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-123'/>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-128'/>
     <!-- TrimVertex** -->
     <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-130'/>
     <!-- TrimVertexPool* -->
-    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-131'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-131'/>
     <!-- bezierPatch* -->
     <pointer-type-def type-id='type-id-142' size-in-bits='64' id='type-id-132'/>
     <!-- char* -->
-    <pointer-type-def type-id='type-id-143' size-in-bits='64' id='type-id-111'/>
+    <pointer-type-def type-id='type-id-143' size-in-bits='64' id='type-id-115'/>
     <!-- char*[32] -->
-    <array-type-def dimensions='1' type-id='type-id-111' size-in-bits='2048' id='type-id-110'>
+    <array-type-def dimensions='1' type-id='type-id-115' size-in-bits='2048' id='type-id-114'>
       <!-- <anonymous range>[32] -->
       <subrange length='32' type-id='type-id-3' id='type-id-144'/>
     </array-type-def>
     <!-- class ArcTessellator -->
-    <class-decl name='ArcTessellator' size-in-bits='128' visibility='default' filepath='libnurbs/internals/arctess.h' line='47' column='1' id='type-id-116'>
+    <class-decl name='ArcTessellator' size-in-bits='128' visibility='default' filepath='libnurbs/internals/arctess.h' line='47' column='1' id='type-id-121'>
       <data-member access='private' static='yes'>
         <!-- static REAL ArcTessellator::gl_Bernstein[][24][24] -->
         <var-decl name='gl_Bernstein' type-id='type-id-145' mangled-name='_ZN14ArcTessellator12gl_BernsteinE' visibility='default' filepath='libnurbs/internals/arctess.h' line='60' column='1'/>
@@ -3022,14 +3022,14 @@ 
       </member-function>
     </class-decl>
     <!-- class Bin -->
-    <class-decl name='Bin' size-in-bits='128' visibility='default' filepath='libnurbs/internals/bin.h' line='44' column='1' id='type-id-118'>
+    <class-decl name='Bin' size-in-bits='128' visibility='default' filepath='libnurbs/internals/bin.h' line='44' column='1' id='type-id-123'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- Arc_ptr Bin::head -->
-        <var-decl name='head' type-id='type-id-119' visibility='default' filepath='libnurbs/internals/bin.h' line='46' column='1'/>
+        <var-decl name='head' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/bin.h' line='46' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- Arc_ptr Bin::current -->
-        <var-decl name='current' type-id='type-id-119' visibility='default' filepath='libnurbs/internals/bin.h' line='47' column='1'/>
+        <var-decl name='current' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/bin.h' line='47' column='1'/>
       </data-member>
       <member-function access='private' constructor='yes'>
         <!-- Bin::Bin() -->
@@ -3060,7 +3060,7 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- Pool DisplayList::dlnodePool -->
-        <var-decl name='dlnodePool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/displaylist.h' line='74' column='1'/>
+        <var-decl name='dlnodePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/displaylist.h' line='74' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='2560'>
         <!-- Dlnode** DisplayList::lastNode -->
@@ -3068,15 +3068,15 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='2624'>
         <!-- NurbsTessellator* DisplayList::nt -->
-        <var-decl name='nt' type-id='type-id-86' visibility='default' filepath='libnurbs/internals/displaylist.h' line='76' column='1'/>
+        <var-decl name='nt' type-id='type-id-87' visibility='default' filepath='libnurbs/internals/displaylist.h' line='76' column='1'/>
       </data-member>
       <member-function access='private' constructor='yes'>
         <!-- DisplayList::DisplayList(NurbsTessellator*) -->
         <function-decl name='DisplayList' filepath='libnurbs/internals/displaylist.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'DisplayList*' -->
-          <parameter type-id='type-id-85' is-artificial='yes'/>
+          <parameter type-id='type-id-86' is-artificial='yes'/>
           <!-- parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86'/>
+          <parameter type-id='type-id-87'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -3085,7 +3085,7 @@ 
         <!-- DisplayList::~DisplayList(int) -->
         <function-decl name='~DisplayList' filepath='libnurbs/internals/displaylist.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'DisplayList*' -->
-          <parameter type-id='type-id-85' is-artificial='yes'/>
+          <parameter type-id='type-id-86' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -3094,139 +3094,41 @@ 
       </member-function>
     </class-decl>
     <!-- class Flist -->
-    <class-decl name='Flist' size-in-bits='320' visibility='default' filepath='libnurbs/internals/flist.h' line='42' column='1' id='type-id-121'>
-      <data-member access='private' layout-offset-in-bits='0'>
-        <!-- REAL* Flist::pts -->
-        <var-decl name='pts' type-id='type-id-16' visibility='default' filepath='libnurbs/internals/flist.h' line='44' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='64'>
-        <!-- int Flist::npts -->
-        <var-decl name='npts' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/flist.h' line='45' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='96'>
-        <!-- int Flist::start -->
-        <var-decl name='start' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/flist.h' line='46' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='128'>
-        <!-- int Flist::end -->
-        <var-decl name='end' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/flist.h' line='47' column='1'/>
-      </data-member>
-      <data-member access='protected' layout-offset-in-bits='192'>
-        <!-- FlistSorter Flist::sorter -->
-        <var-decl name='sorter' type-id='type-id-154' visibility='default' filepath='libnurbs/internals/flist.h' line='56' column='1'/>
-      </data-member>
-      <member-function access='private' constructor='yes'>
-        <!-- Flist::Flist() -->
-        <function-decl name='Flist' filepath='libnurbs/internals/flist.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'Flist*' -->
-          <parameter type-id='type-id-155' is-artificial='yes'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-      <member-function access='private' destructor='yes'>
-        <!-- Flist::~Flist(int) -->
-        <function-decl name='~Flist' filepath='libnurbs/internals/flist.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'Flist*' -->
-          <parameter type-id='type-id-155' is-artificial='yes'/>
-          <!-- artificial parameter of type 'int' -->
-          <parameter type-id='type-id-11' is-artificial='yes'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-    </class-decl>
-    <!-- class Slicer -->
-    <class-decl name='Slicer' size-in-bits='8064' visibility='default' filepath='libnurbs/internals/slicer.h' line='49' column='1' id='type-id-115'>
-      <!-- class CoveAndTiler -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-156'/>
-      <!-- class Mesher -->
-      <base-class access='public' layout-offset-in-bits='128' type-id='type-id-157'/>
-      <data-member access='private' layout-offset-in-bits='5248'>
-        <!-- Backend& Slicer::backend -->
-        <var-decl name='backend' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/slicer.h' line='72' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='5312'>
-        <!-- REAL Slicer::oneOverDu -->
-        <var-decl name='oneOverDu' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/slicer.h' line='73' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='5344'>
-        <!-- REAL Slicer::du -->
-        <var-decl name='du' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/slicer.h' line='74' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='5376'>
-        <!-- REAL Slicer::dv -->
-        <var-decl name='dv' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/slicer.h' line='74' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='5408'>
-        <!-- int Slicer::isolines -->
-        <var-decl name='isolines' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/slicer.h' line='75' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='5440'>
-        <!-- int Slicer::ulinear -->
-        <var-decl name='ulinear' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/slicer.h' line='81' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='5472'>
-        <!-- int Slicer::vlinear -->
-        <var-decl name='vlinear' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/slicer.h' line='82' column='1'/>
-      </data-member>
-      <member-function access='private' constructor='yes'>
-        <!-- Slicer::Slicer(int, void**, Backend&) -->
-        <function-decl name='Slicer' filepath='libnurbs/internals/slicer.cc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'Slicer*' -->
-          <parameter type-id='type-id-158' is-artificial='yes'/>
-          <!-- artificial parameter of type 'int' -->
-          <parameter type-id='type-id-11' is-artificial='yes'/>
-          <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
-          <!-- parameter of type 'Backend&' -->
-          <parameter type-id='type-id-107'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-      <member-function access='private' destructor='yes'>
-        <!-- Slicer::~Slicer(int, void**) -->
-        <function-decl name='~Slicer' filepath='libnurbs/internals/slicer.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'Slicer*' -->
-          <parameter type-id='type-id-158' is-artificial='yes'/>
-          <!-- artificial parameter of type 'int' -->
-          <parameter type-id='type-id-11' is-artificial='yes'/>
-          <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-    </class-decl>
-    <!-- class StoredVertex -->
-    <class-decl name='StoredVertex' size-in-bits='256' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='84' column='1' id='type-id-102'>
+    <class-decl name='Flist' size-in-bits='320' visibility='default' filepath='libnurbs/internals/flist.h' line='42' column='1' id='type-id-126'>
       <data-member access='private' layout-offset-in-bits='0'>
-        <!-- int StoredVertex::type -->
-        <var-decl name='type' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='95' column='1'/>
+        <!-- REAL* Flist::pts -->
+        <var-decl name='pts' type-id='type-id-16' visibility='default' filepath='libnurbs/internals/flist.h' line='44' column='1'/>
       </data-member>
-      <data-member access='private' layout-offset-in-bits='32'>
-        <!-- REAL StoredVertex::coord[2] -->
-        <var-decl name='coord' type-id='type-id-160' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='96' column='1'/>
+      <data-member access='private' layout-offset-in-bits='64'>
+        <!-- int Flist::npts -->
+        <var-decl name='npts' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/flist.h' line='45' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='96'>
+        <!-- int Flist::start -->
+        <var-decl name='start' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/flist.h' line='46' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='128'>
-        <!-- long int StoredVertex::point[2] -->
-        <var-decl name='point' type-id='type-id-161' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='97' column='1'/>
+        <!-- int Flist::end -->
+        <var-decl name='end' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/flist.h' line='47' column='1'/>
+      </data-member>
+      <data-member access='protected' layout-offset-in-bits='192'>
+        <!-- FlistSorter Flist::sorter -->
+        <var-decl name='sorter' type-id='type-id-154' visibility='default' filepath='libnurbs/internals/flist.h' line='56' column='1'/>
       </data-member>
       <member-function access='private' constructor='yes'>
-        <!-- StoredVertex::StoredVertex() -->
-        <function-decl name='StoredVertex' filepath='libnurbs/interface/glsurfeval.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'StoredVertex*' -->
-          <parameter type-id='type-id-67' is-artificial='yes'/>
+        <!-- Flist::Flist() -->
+        <function-decl name='Flist' filepath='libnurbs/internals/flist.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'Flist*' -->
+          <parameter type-id='type-id-155' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
       </member-function>
       <member-function access='private' destructor='yes'>
-        <!-- StoredVertex::~StoredVertex(int) -->
-        <function-decl name='~StoredVertex' filepath='libnurbs/interface/glsurfeval.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'StoredVertex*' -->
-          <parameter type-id='type-id-67' is-artificial='yes'/>
+        <!-- Flist::~Flist(int) -->
+        <function-decl name='~Flist' filepath='libnurbs/internals/flist.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'Flist*' -->
+          <parameter type-id='type-id-155' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -3234,24 +3136,20 @@ 
         </function-decl>
       </member-function>
     </class-decl>
-    <!-- const char* -->
-    <pointer-type-def type-id='type-id-162' size-in-bits='64' id='type-id-112'/>
-    <!-- int* -->
-    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-133'/>
     <!-- struct JumpBuffer -->
     <class-decl name='JumpBuffer' size-in-bits='1600' is-struct='yes' visibility='default' filepath='libnurbs/internals/mysetjmp.h' line='56' column='1' id='type-id-95'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- jmp_buf JumpBuffer::buf -->
-        <var-decl name='buf' type-id='type-id-163' visibility='default' filepath='libnurbs/internals/mysetjmp.h' line='57' column='1'/>
+        <var-decl name='buf' type-id='type-id-156' visibility='default' filepath='libnurbs/internals/mysetjmp.h' line='57' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct O_curve -->
     <class-decl name='O_curve' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='55' column='1' id='type-id-96'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <member-type access='public'>
         <!-- union {O_nurbscurve* o_nurbscurve; O_pwlcurve* o_pwlcurve;} -->
-        <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='56' column='1' id='type-id-165'>
+        <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='56' column='1' id='type-id-158'>
           <data-member access='private'>
             <!-- O_nurbscurve* o_nurbscurve -->
             <var-decl name='o_nurbscurve' type-id='type-id-97' visibility='default' filepath='libnurbs/internals/reader.h' line='57' column='1'/>
@@ -3264,19 +3162,19 @@ 
       </member-type>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- union {O_nurbscurve* o_nurbscurve; O_pwlcurve* o_pwlcurve;} O_curve::curve -->
-        <var-decl name='curve' type-id='type-id-165' visibility='default' filepath='libnurbs/internals/reader.h' line='59' column='1'/>
+        <var-decl name='curve' type-id='type-id-158' visibility='default' filepath='libnurbs/internals/reader.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- Curvetype O_curve::curvetype -->
-        <var-decl name='curvetype' type-id='type-id-166' visibility='default' filepath='libnurbs/internals/reader.h' line='60' column='1'/>
+        <var-decl name='curvetype' type-id='type-id-159' visibility='default' filepath='libnurbs/internals/reader.h' line='60' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- O_curve* O_curve::next -->
-        <var-decl name='next' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='61' column='1'/>
+        <var-decl name='next' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- O_surface* O_curve::owner -->
-        <var-decl name='owner' type-id='type-id-82' visibility='default' filepath='libnurbs/internals/reader.h' line='62' column='1'/>
+        <var-decl name='owner' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/reader.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- int O_curve::used -->
@@ -3294,7 +3192,7 @@ 
         <!-- O_curve::O_curve() -->
         <function-decl name='O_curve' filepath='libnurbs/internals/reader.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'O_curve*' -->
-          <parameter type-id='type-id-84' is-artificial='yes'/>
+          <parameter type-id='type-id-85' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -3303,14 +3201,14 @@ 
     <!-- struct O_surface -->
     <class-decl name='O_surface' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='112' column='1' id='type-id-100'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- O_nurbssurface* O_surface::o_nurbssurface -->
         <var-decl name='o_nurbssurface' type-id='type-id-98' visibility='default' filepath='libnurbs/internals/reader.h' line='113' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- O_trim* O_surface::o_trim -->
-        <var-decl name='o_trim' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/reader.h' line='114' column='1'/>
+        <var-decl name='o_trim' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='114' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int O_surface::save -->
@@ -3324,7 +3222,7 @@ 
         <!-- O_surface::O_surface() -->
         <function-decl name='O_surface' filepath='libnurbs/internals/reader.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'O_surface*' -->
-          <parameter type-id='type-id-82' is-artificial='yes'/>
+          <parameter type-id='type-id-83' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -3333,14 +3231,14 @@ 
     <!-- struct O_trim -->
     <class-decl name='O_trim' size-in-bits='192' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='94' column='1' id='type-id-101'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- O_curve* O_trim::o_curve -->
-        <var-decl name='o_curve' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='95' column='1'/>
+        <var-decl name='o_curve' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='95' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- O_trim* O_trim::next -->
-        <var-decl name='next' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/reader.h' line='96' column='1'/>
+        <var-decl name='next' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='96' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int O_trim::save -->
@@ -3350,32 +3248,134 @@ 
         <!-- O_trim::O_trim() -->
         <function-decl name='O_trim' filepath='libnurbs/internals/reader.h' line='98' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'O_trim*' -->
-          <parameter type-id='type-id-83' is-artificial='yes'/>
+          <parameter type-id='type-id-84' is-artificial='yes'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+    </class-decl>
+    <!-- class Slicer -->
+    <class-decl name='Slicer' size-in-bits='8064' visibility='default' filepath='libnurbs/internals/slicer.h' line='49' column='1' id='type-id-120'>
+      <!-- class CoveAndTiler -->
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-160'/>
+      <!-- class Mesher -->
+      <base-class access='public' layout-offset-in-bits='128' type-id='type-id-161'/>
+      <data-member access='private' layout-offset-in-bits='5248'>
+        <!-- Backend& Slicer::backend -->
+        <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/slicer.h' line='72' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='5312'>
+        <!-- REAL Slicer::oneOverDu -->
+        <var-decl name='oneOverDu' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/slicer.h' line='73' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='5344'>
+        <!-- REAL Slicer::du -->
+        <var-decl name='du' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/slicer.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='5376'>
+        <!-- REAL Slicer::dv -->
+        <var-decl name='dv' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/slicer.h' line='74' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='5408'>
+        <!-- int Slicer::isolines -->
+        <var-decl name='isolines' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/slicer.h' line='75' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='5440'>
+        <!-- int Slicer::ulinear -->
+        <var-decl name='ulinear' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/slicer.h' line='81' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='5472'>
+        <!-- int Slicer::vlinear -->
+        <var-decl name='vlinear' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/slicer.h' line='82' column='1'/>
+      </data-member>
+      <member-function access='private' constructor='yes'>
+        <!-- Slicer::Slicer(int, void**, Backend&) -->
+        <function-decl name='Slicer' filepath='libnurbs/internals/slicer.cc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'Slicer*' -->
+          <parameter type-id='type-id-162' is-artificial='yes'/>
+          <!-- artificial parameter of type 'int' -->
+          <parameter type-id='type-id-11' is-artificial='yes'/>
+          <!-- artificial parameter of type 'void**' -->
+          <parameter type-id='type-id-163' is-artificial='yes'/>
+          <!-- parameter of type 'Backend&' -->
+          <parameter type-id='type-id-111'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+      <member-function access='private' destructor='yes'>
+        <!-- Slicer::~Slicer(int, void**) -->
+        <function-decl name='~Slicer' filepath='libnurbs/internals/slicer.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'Slicer*' -->
+          <parameter type-id='type-id-162' is-artificial='yes'/>
+          <!-- artificial parameter of type 'int' -->
+          <parameter type-id='type-id-11' is-artificial='yes'/>
+          <!-- artificial parameter of type 'void**' -->
+          <parameter type-id='type-id-163' is-artificial='yes'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+    </class-decl>
+    <!-- class StoredVertex -->
+    <class-decl name='StoredVertex' size-in-bits='256' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='84' column='1' id='type-id-102'>
+      <data-member access='private' layout-offset-in-bits='0'>
+        <!-- int StoredVertex::type -->
+        <var-decl name='type' type-id='type-id-11' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='95' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='32'>
+        <!-- REAL StoredVertex::coord[2] -->
+        <var-decl name='coord' type-id='type-id-164' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='96' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='128'>
+        <!-- long int StoredVertex::point[2] -->
+        <var-decl name='point' type-id='type-id-165' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='97' column='1'/>
+      </data-member>
+      <member-function access='private' constructor='yes'>
+        <!-- StoredVertex::StoredVertex() -->
+        <function-decl name='StoredVertex' filepath='libnurbs/interface/glsurfeval.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'StoredVertex*' -->
+          <parameter type-id='type-id-67' is-artificial='yes'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+      <member-function access='private' destructor='yes'>
+        <!-- StoredVertex::~StoredVertex(int) -->
+        <function-decl name='~StoredVertex' filepath='libnurbs/interface/glsurfeval.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'StoredVertex*' -->
+          <parameter type-id='type-id-67' is-artificial='yes'/>
+          <!-- artificial parameter of type 'int' -->
+          <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
       </member-function>
     </class-decl>
+    <!-- const char* -->
+    <pointer-type-def type-id='type-id-166' size-in-bits='64' id='type-id-116'/>
+    <!-- int* -->
+    <pointer-type-def type-id='type-id-11' size-in-bits='64' id='type-id-133'/>
     <!-- typedef Arc* Arc_ptr -->
-    <typedef-decl name='Arc_ptr' type-id='type-id-167' filepath='libnurbs/internals/arc.h' line='50' column='1' id='type-id-119'/>
+    <typedef-decl name='Arc_ptr' type-id='type-id-167' filepath='libnurbs/internals/arc.h' line='50' column='1' id='type-id-124'/>
     <!-- Arc* -->
     <pointer-type-def type-id='type-id-168' size-in-bits='64' id='type-id-167'/>
     <!-- ArcTessellator* -->
-    <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-148'/>
     <!-- Bin* -->
-    <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-151'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-151'/>
     <!-- Dlnode* -->
     <pointer-type-def type-id='type-id-169' size-in-bits='64' id='type-id-152'/>
     <!-- Dlnode** -->
     <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/>
     <!-- Flist* -->
-    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-155'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-155'/>
     <!-- Pool& -->
     <qualified-type-def type-id='type-id-150' id='type-id-146'/>
     <!-- Pool& -->
-    <reference-type-def kind='lvalue' type-id='type-id-75' size-in-bits='64' id='type-id-150'/>
+    <reference-type-def kind='lvalue' type-id='type-id-76' size-in-bits='64' id='type-id-150'/>
     <!-- REAL[2] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='64' id='type-id-160'>
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='64' id='type-id-164'>
       <!-- <anonymous range>[2] -->
       <subrange length='2' type-id='type-id-3' id='type-id-64'/>
     </array-type-def>
@@ -3389,29 +3389,29 @@ 
       <subrange length='24' type-id='type-id-3' id='type-id-171'/>
     </array-type-def>
     <!-- Slicer* -->
-    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-158'/>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-162'/>
     <!-- TrimVertex* -->
     <pointer-type-def type-id='type-id-172' size-in-bits='64' id='type-id-141'/>
     <!-- TrimVertexPool& -->
     <qualified-type-def type-id='type-id-149' id='type-id-147'/>
     <!-- TrimVertexPool& -->
-    <reference-type-def kind='lvalue' type-id='type-id-76' size-in-bits='64' id='type-id-149'/>
+    <reference-type-def kind='lvalue' type-id='type-id-77' size-in-bits='64' id='type-id-149'/>
     <!-- char -->
     <type-decl name='char' size-in-bits='8' id='type-id-143'/>
     <!-- class Buffer -->
     <class-decl name='Buffer' size-in-bits='64' visibility='default' filepath='libnurbs/internals/bufpool.h' line='45' column='1' id='type-id-135'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- Buffer* Buffer::next -->
-        <var-decl name='next' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/bufpool.h' line='47' column='1'/>
+        <var-decl name='next' type-id='type-id-113' visibility='default' filepath='libnurbs/internals/bufpool.h' line='47' column='1'/>
       </data-member>
     </class-decl>
     <!-- class CoveAndTiler -->
-    <class-decl name='CoveAndTiler' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/coveandtiler.h' line='46' column='1' id='type-id-156'>
+    <class-decl name='CoveAndTiler' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/coveandtiler.h' line='46' column='1' id='type-id-160'>
       <!-- class TrimRegion -->
       <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-173'/>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- Backend& CoveAndTiler::backend -->
-        <var-decl name='backend' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/coveandtiler.h' line='52' column='1'/>
+        <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/coveandtiler.h' line='52' column='1'/>
       </data-member>
       <data-member access='private' static='yes'>
         <!-- static const int CoveAndTiler::MAXSTRIPSIZE -->
@@ -3425,9 +3425,9 @@ 
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
+          <parameter type-id='type-id-163' is-artificial='yes'/>
           <!-- parameter of type 'Backend&' -->
-          <parameter type-id='type-id-107'/>
+          <parameter type-id='type-id-111'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -3440,7 +3440,7 @@ 
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
+          <parameter type-id='type-id-163' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -3476,9 +3476,9 @@ 
           <!-- implicit parameter of type 'FlistSorter*' -->
           <parameter type-id='type-id-177' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- int -->
           <return type-id='type-id-11'/>
         </function-decl>
@@ -3489,9 +3489,9 @@ 
           <!-- implicit parameter of type 'FlistSorter*' -->
           <parameter type-id='type-id-177' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -3502,103 +3502,20 @@ 
           <!-- implicit parameter of type 'FlistSorter*' -->
           <parameter type-id='type-id-177' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-    </class-decl>
-    <!-- class Mesher -->
-    <class-decl name='Mesher' size-in-bits='7680' visibility='default' filepath='libnurbs/internals/mesher.h' line='47' column='1' id='type-id-157'>
-      <!-- class TrimRegion -->
-      <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-173'/>
-      <!-- class Hull -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-178'/>
-      <data-member access='private' static='yes'>
-        <!-- static const float Mesher::ZERO -->
-        <var-decl name='ZERO' type-id='type-id-179' mangled-name='_ZN6Mesher4ZEROE' visibility='default' filepath='libnurbs/internals/mesher.cc' line='53' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='2240'>
-        <!-- Backend& Mesher::backend -->
-        <var-decl name='backend' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/mesher.h' line='56' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='2304'>
-        <!-- Pool Mesher::p -->
-        <var-decl name='p' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/mesher.h' line='58' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='4800'>
-        <!-- unsigned int Mesher::stacksize -->
-        <var-decl name='stacksize' type-id='type-id-92' visibility='default' filepath='libnurbs/internals/mesher.h' line='59' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='4864'>
-        <!-- GridTrimVertex** Mesher::vdata -->
-        <var-decl name='vdata' type-id='type-id-180' visibility='default' filepath='libnurbs/internals/mesher.h' line='60' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='4928'>
-        <!-- GridTrimVertex* Mesher::last[2] -->
-        <var-decl name='last' type-id='type-id-181' visibility='default' filepath='libnurbs/internals/mesher.h' line='61' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='5056'>
-        <!-- int Mesher::itop -->
-        <var-decl name='itop' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mesher.h' line='62' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='5088'>
-        <!-- int Mesher::lastedge -->
-        <var-decl name='lastedge' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mesher.h' line='63' column='1'/>
-      </data-member>
-      <member-function access='private' constructor='yes'>
-        <!-- Mesher::Mesher(int, void**, Backend&) -->
-        <function-decl name='Mesher' filepath='libnurbs/internals/mesher.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'Mesher*' -->
-          <parameter type-id='type-id-182' is-artificial='yes'/>
-          <!-- artificial parameter of type 'int' -->
-          <parameter type-id='type-id-11' is-artificial='yes'/>
-          <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
-          <!-- parameter of type 'Backend&' -->
-          <parameter type-id='type-id-107'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-      <member-function access='private' destructor='yes'>
-        <!-- Mesher::~Mesher(int, void**) -->
-        <function-decl name='~Mesher' filepath='libnurbs/internals/mesher.cc' line='67' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'Mesher*' -->
-          <parameter type-id='type-id-182' is-artificial='yes'/>
-          <!-- artificial parameter of type 'int' -->
-          <parameter type-id='type-id-11' is-artificial='yes'/>
-          <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
+          <parameter type-id='type-id-115'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
       </member-function>
     </class-decl>
-    <!-- class PooledObj -->
-    <class-decl name='PooledObj' size-in-bits='8' visibility='default' filepath='libnurbs/internals/bufpool.h' line='118' column='1' id='type-id-164'/>
-    <!-- const char -->
-    <qualified-type-def type-id='type-id-143' const='yes' id='type-id-162'/>
-    <!-- enum Curvetype -->
-    <enum-decl name='Curvetype' filepath='libnurbs/internals/reader.h' line='42' column='1' id='type-id-166'>
-      <underlying-type type-id='type-id-9'/>
-      <enumerator name='ct_nurbscurve' value='0'/>
-      <enumerator name='ct_pwlcurve' value='1'/>
-      <enumerator name='ct_none' value='2'/>
-    </enum-decl>
-    <!-- long int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='128' id='type-id-161'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-64'/>
-    </array-type-def>
     <!-- struct Mapdesc -->
     <class-decl name='Mapdesc' size-in-bits='3392' is-struct='yes' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='49' column='1' id='type-id-136'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- REAL Mapdesc::pixel_tolerance -->
         <var-decl name='pixel_tolerance' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='104' column='1'/>
@@ -3633,7 +3550,7 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- REAL Mapdesc::bboxsize[5] -->
-        <var-decl name='bboxsize' type-id='type-id-183' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='112' column='1'/>
+        <var-decl name='bboxsize' type-id='type-id-178' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='112' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='448'>
         <!-- long int Mapdesc::type -->
@@ -3661,15 +3578,15 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='672'>
         <!-- Maxmatrix Mapdesc::bmat -->
-        <var-decl name='bmat' type-id='type-id-184' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='121' column='1'/>
+        <var-decl name='bmat' type-id='type-id-179' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='121' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='1472'>
         <!-- Maxmatrix Mapdesc::cmat -->
-        <var-decl name='cmat' type-id='type-id-184' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='122' column='1'/>
+        <var-decl name='cmat' type-id='type-id-179' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='122' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='2272'>
         <!-- Maxmatrix Mapdesc::smat -->
-        <var-decl name='smat' type-id='type-id-184' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='123' column='1'/>
+        <var-decl name='smat' type-id='type-id-179' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='123' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='3072'>
         <!-- REAL Mapdesc::s_steps -->
@@ -3693,25 +3610,92 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='3264'>
         <!-- Mapdesc* Mapdesc::next -->
-        <var-decl name='next' type-id='type-id-103' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='129' column='1'/>
+        <var-decl name='next' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='129' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='3328'>
+        <!-- Backend& Mapdesc::backend -->
+        <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='130' column='1'/>
+      </data-member>
+      <member-function access='public' constructor='yes'>
+        <!-- Mapdesc::Mapdesc(long int, int, int, Backend&) -->
+        <function-decl name='Mapdesc' filepath='libnurbs/internals/mapdesc.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'Mapdesc*' -->
+          <parameter type-id='type-id-107' is-artificial='yes'/>
+          <!-- parameter of type 'long int' -->
+          <parameter type-id='type-id-15'/>
+          <!-- parameter of type 'int' -->
+          <parameter type-id='type-id-11'/>
+          <!-- parameter of type 'int' -->
+          <parameter type-id='type-id-11'/>
+          <!-- parameter of type 'Backend&' -->
+          <parameter type-id='type-id-111'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+    </class-decl>
+    <!-- class Mesher -->
+    <class-decl name='Mesher' size-in-bits='7680' visibility='default' filepath='libnurbs/internals/mesher.h' line='47' column='1' id='type-id-161'>
+      <!-- class TrimRegion -->
+      <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-173'/>
+      <!-- class Hull -->
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-180'/>
+      <data-member access='private' static='yes'>
+        <!-- static const float Mesher::ZERO -->
+        <var-decl name='ZERO' type-id='type-id-181' mangled-name='_ZN6Mesher4ZEROE' visibility='default' filepath='libnurbs/internals/mesher.cc' line='53' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='2240'>
+        <!-- Backend& Mesher::backend -->
+        <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/mesher.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='2304'>
+        <!-- Pool Mesher::p -->
+        <var-decl name='p' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/mesher.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='4800'>
+        <!-- unsigned int Mesher::stacksize -->
+        <var-decl name='stacksize' type-id='type-id-92' visibility='default' filepath='libnurbs/internals/mesher.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='4864'>
+        <!-- GridTrimVertex** Mesher::vdata -->
+        <var-decl name='vdata' type-id='type-id-182' visibility='default' filepath='libnurbs/internals/mesher.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='4928'>
+        <!-- GridTrimVertex* Mesher::last[2] -->
+        <var-decl name='last' type-id='type-id-183' visibility='default' filepath='libnurbs/internals/mesher.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='private' layout-offset-in-bits='5056'>
+        <!-- int Mesher::itop -->
+        <var-decl name='itop' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mesher.h' line='62' column='1'/>
       </data-member>
-      <data-member access='private' layout-offset-in-bits='3328'>
-        <!-- Backend& Mapdesc::backend -->
-        <var-decl name='backend' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='130' column='1'/>
+      <data-member access='private' layout-offset-in-bits='5088'>
+        <!-- int Mesher::lastedge -->
+        <var-decl name='lastedge' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/mesher.h' line='63' column='1'/>
       </data-member>
-      <member-function access='public' constructor='yes'>
-        <!-- Mapdesc::Mapdesc(long int, int, int, Backend&) -->
-        <function-decl name='Mapdesc' filepath='libnurbs/internals/mapdesc.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'Mapdesc*' -->
-          <parameter type-id='type-id-103' is-artificial='yes'/>
-          <!-- parameter of type 'long int' -->
-          <parameter type-id='type-id-15'/>
-          <!-- parameter of type 'int' -->
-          <parameter type-id='type-id-11'/>
-          <!-- parameter of type 'int' -->
-          <parameter type-id='type-id-11'/>
+      <member-function access='private' constructor='yes'>
+        <!-- Mesher::Mesher(int, void**, Backend&) -->
+        <function-decl name='Mesher' filepath='libnurbs/internals/mesher.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'Mesher*' -->
+          <parameter type-id='type-id-184' is-artificial='yes'/>
+          <!-- artificial parameter of type 'int' -->
+          <parameter type-id='type-id-11' is-artificial='yes'/>
+          <!-- artificial parameter of type 'void**' -->
+          <parameter type-id='type-id-163' is-artificial='yes'/>
           <!-- parameter of type 'Backend&' -->
-          <parameter type-id='type-id-107'/>
+          <parameter type-id='type-id-111'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+      <member-function access='private' destructor='yes'>
+        <!-- Mesher::~Mesher(int, void**) -->
+        <function-decl name='~Mesher' filepath='libnurbs/internals/mesher.cc' line='67' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'Mesher*' -->
+          <parameter type-id='type-id-184' is-artificial='yes'/>
+          <!-- artificial parameter of type 'int' -->
+          <parameter type-id='type-id-11' is-artificial='yes'/>
+          <!-- artificial parameter of type 'void**' -->
+          <parameter type-id='type-id-163' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -3720,10 +3704,10 @@ 
     <!-- struct O_nurbscurve -->
     <class-decl name='O_nurbscurve' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='70' column='1' id='type-id-137'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- Quilt* O_nurbscurve::bezier_curves -->
-        <var-decl name='bezier_curves' type-id='type-id-120' visibility='default' filepath='libnurbs/internals/reader.h' line='71' column='1'/>
+        <var-decl name='bezier_curves' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/reader.h' line='71' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- long int O_nurbscurve::type -->
@@ -3751,7 +3735,7 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- O_curve* O_nurbscurve::owner -->
-        <var-decl name='owner' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='78' column='1'/>
+        <var-decl name='owner' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='78' column='1'/>
       </data-member>
       <member-function access='public' constructor='yes'>
         <!-- O_nurbscurve::O_nurbscurve(long int) -->
@@ -3768,10 +3752,10 @@ 
     <!-- struct O_nurbssurface -->
     <class-decl name='O_nurbssurface' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='101' column='1' id='type-id-138'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- Quilt* O_nurbssurface::bezier_patches -->
-        <var-decl name='bezier_patches' type-id='type-id-120' visibility='default' filepath='libnurbs/internals/reader.h' line='102' column='1'/>
+        <var-decl name='bezier_patches' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/reader.h' line='102' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- long int O_nurbssurface::type -->
@@ -3779,7 +3763,7 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- O_surface* O_nurbssurface::owner -->
-        <var-decl name='owner' type-id='type-id-82' visibility='default' filepath='libnurbs/internals/reader.h' line='104' column='1'/>
+        <var-decl name='owner' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/reader.h' line='104' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- O_nurbssurface* O_nurbssurface::next -->
@@ -3808,7 +3792,7 @@ 
     <!-- struct O_pwlcurve -->
     <class-decl name='O_pwlcurve' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='83' column='1' id='type-id-139'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- TrimVertex* O_pwlcurve::pts -->
         <var-decl name='pts' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/reader.h' line='85' column='1'/>
@@ -3831,7 +3815,7 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- O_curve* O_pwlcurve::owner -->
-        <var-decl name='owner' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='90' column='1'/>
+        <var-decl name='owner' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='90' column='1'/>
       </data-member>
       <member-function access='public' constructor='yes'>
         <!-- O_pwlcurve::O_pwlcurve(long int, long int, float*, long int, TrimVertex*) -->
@@ -3853,13 +3837,15 @@ 
         </function-decl>
       </member-function>
     </class-decl>
+    <!-- class PooledObj -->
+    <class-decl name='PooledObj' size-in-bits='8' visibility='default' filepath='libnurbs/internals/bufpool.h' line='118' column='1' id='type-id-157'/>
     <!-- struct Quilt -->
     <class-decl name='Quilt' size-in-bits='896' is-struct='yes' visibility='default' filepath='libnurbs/internals/quilt.h' line='64' column='1' id='type-id-140'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- Mapdesc* Quilt::mapdesc -->
-        <var-decl name='mapdesc' type-id='type-id-103' visibility='default' filepath='libnurbs/internals/quilt.h' line='67' column='1'/>
+        <var-decl name='mapdesc' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/quilt.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- REAL* Quilt::cpts -->
@@ -3875,15 +3861,15 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- Quilt* Quilt::next -->
-        <var-decl name='next' type-id='type-id-120' visibility='default' filepath='libnurbs/internals/quilt.h' line='71' column='1'/>
+        <var-decl name='next' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/quilt.h' line='71' column='1'/>
       </data-member>
       <member-function access='public' constructor='yes'>
         <!-- Quilt::Quilt(Mapdesc*) -->
         <function-decl name='Quilt' filepath='libnurbs/internals/quilt.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Quilt*' -->
-          <parameter type-id='type-id-120' is-artificial='yes'/>
+          <parameter type-id='type-id-125' is-artificial='yes'/>
           <!-- parameter of type 'Mapdesc*' -->
-          <parameter type-id='type-id-103'/>
+          <parameter type-id='type-id-107'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -3928,30 +3914,44 @@ 
         <var-decl name='next' type-id='type-id-132' visibility='default' filepath='libnurbs/interface/bezierPatch.h' line='63' column='1'/>
       </data-member>
     </class-decl>
+    <!-- const char -->
+    <qualified-type-def type-id='type-id-143' const='yes' id='type-id-166'/>
+    <!-- enum Curvetype -->
+    <enum-decl name='Curvetype' filepath='libnurbs/internals/reader.h' line='42' column='1' id='type-id-159'>
+      <underlying-type type-id='type-id-9'/>
+      <enumerator name='ct_nurbscurve' value='0'/>
+      <enumerator name='ct_pwlcurve' value='1'/>
+      <enumerator name='ct_none' value='2'/>
+    </enum-decl>
+    <!-- long int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='128' id='type-id-165'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-64'/>
+    </array-type-def>
     <!-- typedef __jmp_buf_tag[1] jmp_buf -->
-    <typedef-decl name='jmp_buf' type-id='type-id-187' filepath='/usr/include/setjmp.h' line='49' column='1' id='type-id-163'/>
+    <typedef-decl name='jmp_buf' type-id='type-id-187' filepath='/usr/include/setjmp.h' line='49' column='1' id='type-id-156'/>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-163'/>
     <!-- CoveAndTiler* -->
-    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-175'/>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-175'/>
     <!-- FlistSorter* -->
     <pointer-type-def type-id='type-id-154' size-in-bits='64' id='type-id-177'/>
     <!-- GridTrimVertex** -->
-    <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-182'/>
     <!-- GridTrimVertex*[2] -->
-    <array-type-def dimensions='1' type-id='type-id-188' size-in-bits='128' id='type-id-181'>
+    <array-type-def dimensions='1' type-id='type-id-188' size-in-bits='128' id='type-id-183'>
       <!-- <anonymous range>[2] -->
       <subrange length='2' type-id='type-id-3' id='type-id-64'/>
     </array-type-def>
     <!-- Mesher* -->
-    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-182'/>
+    <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-184'/>
     <!-- Quiltspec[2] -->
     <array-type-def dimensions='1' type-id='type-id-189' size-in-bits='640' id='type-id-185'>
       <!-- <anonymous range>[2] -->
       <subrange length='2' type-id='type-id-3' id='type-id-64'/>
     </array-type-def>
     <!-- REAL[5] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='160' id='type-id-183'>
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='160' id='type-id-178'>
       <!-- <anonymous range>[5] -->
       <subrange length='5' type-id='type-id-3' id='type-id-190'/>
     </array-type-def>
@@ -3960,24 +3960,131 @@ 
       <!-- <anonymous range>[1] -->
       <subrange length='1' type-id='type-id-3' id='type-id-192'/>
     </array-type-def>
+    <!-- struct Arc -->
+    <class-decl name='Arc' size-in-bits='448' is-struct='yes' visibility='default' filepath='libnurbs/internals/arc.h' line='55' column='1' id='type-id-168'>
+      <!-- class PooledObj -->
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
+      <data-member access='public' static='yes'>
+        <!-- static const int Arc::bezier_tag -->
+        <var-decl name='bezier_tag' type-id='type-id-174' mangled-name='_ZN3Arc10bezier_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' static='yes'>
+        <!-- static const int Arc::arc_tag -->
+        <var-decl name='arc_tag' type-id='type-id-174' mangled-name='_ZN3Arc7arc_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='59' column='1'/>
+      </data-member>
+      <data-member access='public' static='yes'>
+        <!-- static const int Arc::tail_tag -->
+        <var-decl name='tail_tag' type-id='type-id-174' mangled-name='_ZN3Arc8tail_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='60' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- Arc_ptr Arc::prev -->
+        <var-decl name='prev' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/arc.h' line='61' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- Arc_ptr Arc::next -->
+        <var-decl name='next' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/arc.h' line='62' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- Arc_ptr Arc::link -->
+        <var-decl name='link' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/arc.h' line='63' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- BezierArc* Arc::bezierArc -->
+        <var-decl name='bezierArc' type-id='type-id-193' visibility='default' filepath='libnurbs/internals/arc.h' line='64' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- PwlArc* Arc::pwlArc -->
+        <var-decl name='pwlArc' type-id='type-id-194' visibility='default' filepath='libnurbs/internals/arc.h' line='65' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- long int Arc::type -->
+        <var-decl name='type' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/arc.h' line='66' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <!-- long int Arc::nuid -->
+        <var-decl name='nuid' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/arc.h' line='67' column='1'/>
+      </data-member>
+      <member-function access='public' constructor='yes'>
+        <!-- Arc::Arc(Arc*, PwlArc*) -->
+        <function-decl name='Arc' filepath='libnurbs/internals/arc.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'Arc*' -->
+          <parameter type-id='type-id-167' is-artificial='yes'/>
+          <!-- parameter of type 'Arc*' -->
+          <parameter type-id='type-id-167'/>
+          <!-- parameter of type 'PwlArc*' -->
+          <parameter type-id='type-id-194'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+      <member-function access='public' constructor='yes'>
+        <!-- Arc::Arc(arc_side, long int) -->
+        <function-decl name='Arc' filepath='libnurbs/internals/arc.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'Arc*' -->
+          <parameter type-id='type-id-167' is-artificial='yes'/>
+          <!-- parameter of type 'enum arc_side' -->
+          <parameter type-id='type-id-195'/>
+          <!-- parameter of type 'long int' -->
+          <parameter type-id='type-id-15'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+    </class-decl>
+    <!-- struct Dlnode -->
+    <class-decl name='Dlnode' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/displaylist.h' line='48' column='1' id='type-id-169'>
+      <!-- class PooledObj -->
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- PFVS Dlnode::work -->
+        <var-decl name='work' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/displaylist.h' line='50' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- void* Dlnode::arg -->
+        <var-decl name='arg' type-id='type-id-25' visibility='default' filepath='libnurbs/internals/displaylist.h' line='51' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- PFVS Dlnode::cleanup -->
+        <var-decl name='cleanup' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/displaylist.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <!-- Dlnode* Dlnode::next -->
+        <var-decl name='next' type-id='type-id-152' visibility='default' filepath='libnurbs/internals/displaylist.h' line='53' column='1'/>
+      </data-member>
+      <member-function access='public' constructor='yes'>
+        <!-- Dlnode::Dlnode(PFVS, void*, PFVS) -->
+        <function-decl name='Dlnode' filepath='libnurbs/internals/displaylist.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'Dlnode*' -->
+          <parameter type-id='type-id-152' is-artificial='yes'/>
+          <!-- parameter of type 'typedef PFVS' -->
+          <parameter type-id='type-id-196'/>
+          <!-- parameter of type 'void*' -->
+          <parameter type-id='type-id-25'/>
+          <!-- parameter of type 'typedef PFVS' -->
+          <parameter type-id='type-id-196'/>
+          <!-- void -->
+          <return type-id='type-id-12'/>
+        </function-decl>
+      </member-function>
+    </class-decl>
     <!-- class Hull -->
-    <class-decl name='Hull' size-in-bits='4800' visibility='default' filepath='libnurbs/internals/hull.h' line='47' column='1' id='type-id-178'>
+    <class-decl name='Hull' size-in-bits='4800' visibility='default' filepath='libnurbs/internals/hull.h' line='47' column='1' id='type-id-180'>
       <!-- class TrimRegion -->
       <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-173'/>
       <member-type access='private'>
         <!-- struct Hull::Side -->
-        <class-decl name='Side' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/hull.h' line='55' column='1' id='type-id-193'>
+        <class-decl name='Side' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/hull.h' line='55' column='1' id='type-id-197'>
           <data-member access='public' layout-offset-in-bits='0'>
             <!-- Trimline* Hull::Side::left -->
-            <var-decl name='left' type-id='type-id-194' visibility='default' filepath='libnurbs/internals/hull.h' line='56' column='1'/>
+            <var-decl name='left' type-id='type-id-198' visibility='default' filepath='libnurbs/internals/hull.h' line='56' column='1'/>
           </data-member>
           <data-member access='public' layout-offset-in-bits='64'>
             <!-- Gridline* Hull::Side::line -->
-            <var-decl name='line' type-id='type-id-195' visibility='default' filepath='libnurbs/internals/hull.h' line='57' column='1'/>
+            <var-decl name='line' type-id='type-id-199' visibility='default' filepath='libnurbs/internals/hull.h' line='57' column='1'/>
           </data-member>
           <data-member access='public' layout-offset-in-bits='128'>
             <!-- Trimline* Hull::Side::right -->
-            <var-decl name='right' type-id='type-id-194' visibility='default' filepath='libnurbs/internals/hull.h' line='58' column='1'/>
+            <var-decl name='right' type-id='type-id-198' visibility='default' filepath='libnurbs/internals/hull.h' line='58' column='1'/>
           </data-member>
           <data-member access='public' layout-offset-in-bits='192'>
             <!-- long int Hull::Side::index -->
@@ -3987,29 +4094,29 @@ 
       </member-type>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- Hull::Side Hull::lower -->
-        <var-decl name='lower' type-id='type-id-193' visibility='default' filepath='libnurbs/internals/hull.h' line='62' column='1'/>
+        <var-decl name='lower' type-id='type-id-197' visibility='default' filepath='libnurbs/internals/hull.h' line='62' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='320'>
         <!-- Hull::Side Hull::upper -->
-        <var-decl name='upper' type-id='type-id-193' visibility='default' filepath='libnurbs/internals/hull.h' line='63' column='1'/>
+        <var-decl name='upper' type-id='type-id-197' visibility='default' filepath='libnurbs/internals/hull.h' line='63' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='576'>
         <!-- Trimline Hull::fakeleft -->
-        <var-decl name='fakeleft' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/hull.h' line='64' column='1'/>
+        <var-decl name='fakeleft' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/hull.h' line='64' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='1408'>
         <!-- Trimline Hull::fakeright -->
-        <var-decl name='fakeright' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/hull.h' line='65' column='1'/>
+        <var-decl name='fakeright' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/hull.h' line='65' column='1'/>
       </data-member>
       <member-function access='private' constructor='yes'>
         <!-- Hull::Hull(int, void**) -->
         <function-decl name='Hull' filepath='libnurbs/internals/hull.cc' line='51' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Hull*' -->
-          <parameter type-id='type-id-197' is-artificial='yes'/>
+          <parameter type-id='type-id-201' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
+          <parameter type-id='type-id-163' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -4018,11 +4125,11 @@ 
         <!-- Hull::~Hull(int, void**) -->
         <function-decl name='~Hull' filepath='libnurbs/internals/hull.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Hull*' -->
-          <parameter type-id='type-id-197' is-artificial='yes'/>
+          <parameter type-id='type-id-201' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
+          <parameter type-id='type-id-163' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -4038,7 +4145,7 @@ 
         <!-- Sorter::Sorter(int) -->
         <function-decl name='Sorter' filepath='libnurbs/internals/sorter.cc' line='44' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Sorter*' -->
-          <parameter type-id='type-id-198' is-artificial='yes'/>
+          <parameter type-id='type-id-202' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -4049,7 +4156,7 @@ 
         <!-- Sorter::~Sorter(int) -->
         <function-decl name='~Sorter' filepath='libnurbs/internals/sorter.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Sorter*' -->
-          <parameter type-id='type-id-198' is-artificial='yes'/>
+          <parameter type-id='type-id-202' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -4060,11 +4167,11 @@ 
         <!-- int Sorter::qscmp(char*, char*) -->
         <function-decl name='qscmp' mangled-name='_ZN6Sorter5qscmpEPcS0_' filepath='libnurbs/internals/sorter.cc' line='56' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Sorter*' -->
-          <parameter type-id='type-id-198' is-artificial='yes'/>
+          <parameter type-id='type-id-202' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- int -->
           <return type-id='type-id-11'/>
         </function-decl>
@@ -4073,11 +4180,11 @@ 
         <!-- void Sorter::qsexc(char*, char*) -->
         <function-decl name='qsexc' mangled-name='_ZN6Sorter5qsexcEPcS0_' filepath='libnurbs/internals/sorter.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Sorter*' -->
-          <parameter type-id='type-id-198' is-artificial='yes'/>
+          <parameter type-id='type-id-202' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -4086,13 +4193,13 @@ 
         <!-- void Sorter::qstexc(char*, char*, char*) -->
         <function-decl name='qstexc' mangled-name='_ZN6Sorter6qstexcEPcS0_S0_' filepath='libnurbs/internals/sorter.cc' line='71' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Sorter*' -->
-          <parameter type-id='type-id-198' is-artificial='yes'/>
+          <parameter type-id='type-id-202' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -4102,144 +4209,33 @@ 
     <class-decl name='TrimRegion' size-in-bits='2560' visibility='default' filepath='libnurbs/internals/trimregion.h' line='46' column='1' id='type-id-173'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- Trimline TrimRegion::left -->
-        <var-decl name='left' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/trimregion.h' line='49' column='1'/>
+        <var-decl name='left' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/trimregion.h' line='49' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='832'>
         <!-- Trimline TrimRegion::right -->
-        <var-decl name='right' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/trimregion.h' line='50' column='1'/>
+        <var-decl name='right' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/trimregion.h' line='50' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='1664'>
         <!-- Gridline TrimRegion::top -->
-        <var-decl name='top' type-id='type-id-199' visibility='default' filepath='libnurbs/internals/trimregion.h' line='51' column='1'/>
+        <var-decl name='top' type-id='type-id-203' visibility='default' filepath='libnurbs/internals/trimregion.h' line='51' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='1984'>
         <!-- Gridline TrimRegion::bot -->
-        <var-decl name='bot' type-id='type-id-199' visibility='default' filepath='libnurbs/internals/trimregion.h' line='52' column='1'/>
+        <var-decl name='bot' type-id='type-id-203' visibility='default' filepath='libnurbs/internals/trimregion.h' line='52' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='2304'>
         <!-- Uarray TrimRegion::uarray -->
-        <var-decl name='uarray' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/trimregion.h' line='53' column='1'/>
-      </data-member>
-      <data-member access='private' layout-offset-in-bits='2496'>
-        <!-- REAL TrimRegion::oneOverDu -->
-        <var-decl name='oneOverDu' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/trimregion.h' line='65' column='1'/>
-      </data-member>
-      <member-function access='private' constructor='yes'>
-        <!-- TrimRegion::TrimRegion() -->
-        <function-decl name='TrimRegion' filepath='libnurbs/internals/trimregion.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'TrimRegion*' -->
-          <parameter type-id='type-id-201' is-artificial='yes'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-    </class-decl>
-    <!-- const float -->
-    <qualified-type-def type-id='type-id-28' const='yes' id='type-id-179'/>
-    <!-- const int -->
-    <qualified-type-def type-id='type-id-11' const='yes' id='type-id-174'/>
-    <!-- struct Arc -->
-    <class-decl name='Arc' size-in-bits='448' is-struct='yes' visibility='default' filepath='libnurbs/internals/arc.h' line='55' column='1' id='type-id-168'>
-      <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
-      <data-member access='public' static='yes'>
-        <!-- static const int Arc::bezier_tag -->
-        <var-decl name='bezier_tag' type-id='type-id-174' mangled-name='_ZN3Arc10bezier_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='58' column='1'/>
-      </data-member>
-      <data-member access='public' static='yes'>
-        <!-- static const int Arc::arc_tag -->
-        <var-decl name='arc_tag' type-id='type-id-174' mangled-name='_ZN3Arc7arc_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='59' column='1'/>
-      </data-member>
-      <data-member access='public' static='yes'>
-        <!-- static const int Arc::tail_tag -->
-        <var-decl name='tail_tag' type-id='type-id-174' mangled-name='_ZN3Arc8tail_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='60' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- Arc_ptr Arc::prev -->
-        <var-decl name='prev' type-id='type-id-119' visibility='default' filepath='libnurbs/internals/arc.h' line='61' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- Arc_ptr Arc::next -->
-        <var-decl name='next' type-id='type-id-119' visibility='default' filepath='libnurbs/internals/arc.h' line='62' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='128'>
-        <!-- Arc_ptr Arc::link -->
-        <var-decl name='link' type-id='type-id-119' visibility='default' filepath='libnurbs/internals/arc.h' line='63' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='192'>
-        <!-- BezierArc* Arc::bezierArc -->
-        <var-decl name='bezierArc' type-id='type-id-202' visibility='default' filepath='libnurbs/internals/arc.h' line='64' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='256'>
-        <!-- PwlArc* Arc::pwlArc -->
-        <var-decl name='pwlArc' type-id='type-id-203' visibility='default' filepath='libnurbs/internals/arc.h' line='65' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='320'>
-        <!-- long int Arc::type -->
-        <var-decl name='type' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/arc.h' line='66' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='384'>
-        <!-- long int Arc::nuid -->
-        <var-decl name='nuid' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/arc.h' line='67' column='1'/>
-      </data-member>
-      <member-function access='public' constructor='yes'>
-        <!-- Arc::Arc(Arc*, PwlArc*) -->
-        <function-decl name='Arc' filepath='libnurbs/internals/arc.h' line='69' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'Arc*' -->
-          <parameter type-id='type-id-167' is-artificial='yes'/>
-          <!-- parameter of type 'Arc*' -->
-          <parameter type-id='type-id-167'/>
-          <!-- parameter of type 'PwlArc*' -->
-          <parameter type-id='type-id-203'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-      <member-function access='public' constructor='yes'>
-        <!-- Arc::Arc(arc_side, long int) -->
-        <function-decl name='Arc' filepath='libnurbs/internals/arc.h' line='70' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'Arc*' -->
-          <parameter type-id='type-id-167' is-artificial='yes'/>
-          <!-- parameter of type 'enum arc_side' -->
-          <parameter type-id='type-id-204'/>
-          <!-- parameter of type 'long int' -->
-          <parameter type-id='type-id-15'/>
-          <!-- void -->
-          <return type-id='type-id-12'/>
-        </function-decl>
-      </member-function>
-    </class-decl>
-    <!-- struct Dlnode -->
-    <class-decl name='Dlnode' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/displaylist.h' line='48' column='1' id='type-id-169'>
-      <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- PFVS Dlnode::work -->
-        <var-decl name='work' type-id='type-id-205' visibility='default' filepath='libnurbs/internals/displaylist.h' line='50' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='128'>
-        <!-- void* Dlnode::arg -->
-        <var-decl name='arg' type-id='type-id-25' visibility='default' filepath='libnurbs/internals/displaylist.h' line='51' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='192'>
-        <!-- PFVS Dlnode::cleanup -->
-        <var-decl name='cleanup' type-id='type-id-205' visibility='default' filepath='libnurbs/internals/displaylist.h' line='52' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='320'>
-        <!-- Dlnode* Dlnode::next -->
-        <var-decl name='next' type-id='type-id-152' visibility='default' filepath='libnurbs/internals/displaylist.h' line='53' column='1'/>
+        <var-decl name='uarray' type-id='type-id-204' visibility='default' filepath='libnurbs/internals/trimregion.h' line='53' column='1'/>
       </data-member>
-      <member-function access='public' constructor='yes'>
-        <!-- Dlnode::Dlnode(PFVS, void*, PFVS) -->
-        <function-decl name='Dlnode' filepath='libnurbs/internals/displaylist.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'>
-          <!-- implicit parameter of type 'Dlnode*' -->
-          <parameter type-id='type-id-152' is-artificial='yes'/>
-          <!-- parameter of type 'typedef PFVS' -->
-          <parameter type-id='type-id-205'/>
-          <!-- parameter of type 'void*' -->
-          <parameter type-id='type-id-25'/>
-          <!-- parameter of type 'typedef PFVS' -->
-          <parameter type-id='type-id-205'/>
+      <data-member access='private' layout-offset-in-bits='2496'>
+        <!-- REAL TrimRegion::oneOverDu -->
+        <var-decl name='oneOverDu' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/trimregion.h' line='65' column='1'/>
+      </data-member>
+      <member-function access='private' constructor='yes'>
+        <!-- TrimRegion::TrimRegion() -->
+        <function-decl name='TrimRegion' filepath='libnurbs/internals/trimregion.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'>
+          <!-- implicit parameter of type 'TrimRegion*' -->
+          <parameter type-id='type-id-205' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -4249,27 +4245,31 @@ 
     <class-decl name='TrimVertex' size-in-bits='128' is-struct='yes' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='43' column='1' id='type-id-172'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- REAL TrimVertex::param[2] -->
-        <var-decl name='param' type-id='type-id-160' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='45' column='1'/>
+        <var-decl name='param' type-id='type-id-164' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- long int TrimVertex::nuid -->
         <var-decl name='nuid' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='50' column='1'/>
       </data-member>
     </class-decl>
+    <!-- const float -->
+    <qualified-type-def type-id='type-id-28' const='yes' id='type-id-181'/>
+    <!-- const int -->
+    <qualified-type-def type-id='type-id-11' const='yes' id='type-id-174'/>
     <!-- typedef REAL[5][5] Maxmatrix -->
-    <typedef-decl name='Maxmatrix' type-id='type-id-206' filepath='libnurbs/internals/mapdesc.h' line='45' column='1' id='type-id-184'/>
+    <typedef-decl name='Maxmatrix' type-id='type-id-206' filepath='libnurbs/internals/mapdesc.h' line='45' column='1' id='type-id-179'/>
     <!-- typedef Quiltspec* Quiltspec_ptr -->
     <typedef-decl name='Quiltspec_ptr' type-id='type-id-207' filepath='libnurbs/internals/quilt.h' line='62' column='1' id='type-id-186'/>
     <!-- BezierArc* -->
-    <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-202'/>
+    <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-193'/>
     <!-- GridTrimVertex* -->
     <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-188'/>
     <!-- Gridline* -->
-    <pointer-type-def type-id='type-id-199' size-in-bits='64' id='type-id-195'/>
+    <pointer-type-def type-id='type-id-203' size-in-bits='64' id='type-id-199'/>
     <!-- Hull* -->
-    <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-201'/>
     <!-- PwlArc* -->
-    <pointer-type-def type-id='type-id-210' size-in-bits='64' id='type-id-203'/>
+    <pointer-type-def type-id='type-id-210' size-in-bits='64' id='type-id-194'/>
     <!-- Quiltspec* -->
     <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-207'/>
     <!-- REAL[5][5] -->
@@ -4280,13 +4280,71 @@ 
       <subrange length='5' type-id='type-id-3' id='type-id-190'/>
     </array-type-def>
     <!-- Sorter* -->
-    <pointer-type-def type-id='type-id-176' size-in-bits='64' id='type-id-198'/>
+    <pointer-type-def type-id='type-id-176' size-in-bits='64' id='type-id-202'/>
     <!-- TrimRegion* -->
-    <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-205'/>
     <!-- Trimline* -->
-    <pointer-type-def type-id='type-id-196' size-in-bits='64' id='type-id-194'/>
+    <pointer-type-def type-id='type-id-200' size-in-bits='64' id='type-id-198'/>
+    <!-- struct Gridline -->
+    <class-decl name='Gridline' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/gridline.h' line='39' column='1' id='type-id-203'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- long int Gridline::v -->
+        <var-decl name='v' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='40' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- REAL Gridline::vval -->
+        <var-decl name='vval' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/gridline.h' line='41' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- long int Gridline::vindex -->
+        <var-decl name='vindex' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='42' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <!-- long int Gridline::ustart -->
+        <var-decl name='ustart' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- long int Gridline::uend -->
+        <var-decl name='uend' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='44' column='1'/>
+      </data-member>
+    </class-decl>
+    <!-- struct Quiltspec -->
+    <class-decl name='Quiltspec' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/quilt.h' line='51' column='1' id='type-id-189'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- int Quiltspec::stride -->
+        <var-decl name='stride' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='52' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <!-- int Quiltspec::width -->
+        <var-decl name='width' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='53' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- int Quiltspec::offset -->
+        <var-decl name='offset' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='54' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <!-- int Quiltspec::order -->
+        <var-decl name='order' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='55' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <!-- int Quiltspec::index -->
+        <var-decl name='index' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='56' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <!-- int Quiltspec::bdry[2] -->
+        <var-decl name='bdry' type-id='type-id-211' visibility='default' filepath='libnurbs/internals/quilt.h' line='57' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <!-- REAL Quiltspec::step_size -->
+        <var-decl name='step_size' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/quilt.h' line='58' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <!-- Knot* Quiltspec::breakpoints -->
+        <var-decl name='breakpoints' type-id='type-id-212' visibility='default' filepath='libnurbs/internals/quilt.h' line='59' column='1'/>
+      </data-member>
+    </class-decl>
     <!-- class Trimline -->
-    <class-decl name='Trimline' size-in-bits='832' visibility='default' filepath='libnurbs/internals/trimline.h' line='46' column='1' id='type-id-196'>
+    <class-decl name='Trimline' size-in-bits='832' visibility='default' filepath='libnurbs/internals/trimline.h' line='46' column='1' id='type-id-200'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- TrimVertex** Trimline::pts -->
         <var-decl name='pts' type-id='type-id-130' visibility='default' filepath='libnurbs/internals/trimline.h' line='48' column='1'/>
@@ -4305,7 +4363,7 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='256'>
         <!-- Jarcloc Trimline::jarcl -->
-        <var-decl name='jarcl' type-id='type-id-211' visibility='default' filepath='libnurbs/internals/trimline.h' line='52' column='1'/>
+        <var-decl name='jarcl' type-id='type-id-213' visibility='default' filepath='libnurbs/internals/trimline.h' line='52' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='448'>
         <!-- TrimVertex Trimline::t -->
@@ -4327,7 +4385,7 @@ 
         <!-- Trimline::Trimline() -->
         <function-decl name='Trimline' filepath='libnurbs/internals/trimline.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Trimline*' -->
-          <parameter type-id='type-id-194' is-artificial='yes'/>
+          <parameter type-id='type-id-198' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -4336,7 +4394,7 @@ 
         <!-- Trimline::~Trimline(int) -->
         <function-decl name='~Trimline' filepath='libnurbs/internals/trimline.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Trimline*' -->
-          <parameter type-id='type-id-194' is-artificial='yes'/>
+          <parameter type-id='type-id-198' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -4345,7 +4403,7 @@ 
       </member-function>
     </class-decl>
     <!-- class Uarray -->
-    <class-decl name='Uarray' size-in-bits='192' visibility='default' filepath='libnurbs/internals/uarray.h' line='44' column='1' id='type-id-200'>
+    <class-decl name='Uarray' size-in-bits='192' visibility='default' filepath='libnurbs/internals/uarray.h' line='44' column='1' id='type-id-204'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- long int Uarray::size -->
         <var-decl name='size' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/uarray.h' line='46' column='1'/>
@@ -4362,7 +4420,7 @@ 
         <!-- Uarray::Uarray() -->
         <function-decl name='Uarray' filepath='libnurbs/internals/uarray.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Uarray*' -->
-          <parameter type-id='type-id-212' is-artificial='yes'/>
+          <parameter type-id='type-id-214' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -4371,7 +4429,7 @@ 
         <!-- Uarray::~Uarray(int) -->
         <function-decl name='~Uarray' filepath='libnurbs/internals/uarray.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Uarray*' -->
-          <parameter type-id='type-id-212' is-artificial='yes'/>
+          <parameter type-id='type-id-214' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -4379,73 +4437,6 @@ 
         </function-decl>
       </member-function>
     </class-decl>
-    <!-- enum arc_side -->
-    <enum-decl name='arc_side' filepath='libnurbs/internals/arc.h' line='52' column='1' id='type-id-204'>
-      <underlying-type type-id='type-id-9'/>
-      <enumerator name='arc_none' value='0'/>
-      <enumerator name='arc_right' value='1'/>
-      <enumerator name='arc_top' value='2'/>
-      <enumerator name='arc_left' value='3'/>
-      <enumerator name='arc_bottom' value='4'/>
-    </enum-decl>
-    <!-- struct Gridline -->
-    <class-decl name='Gridline' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/gridline.h' line='39' column='1' id='type-id-199'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- long int Gridline::v -->
-        <var-decl name='v' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='40' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- REAL Gridline::vval -->
-        <var-decl name='vval' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/gridline.h' line='41' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='128'>
-        <!-- long int Gridline::vindex -->
-        <var-decl name='vindex' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='42' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='192'>
-        <!-- long int Gridline::ustart -->
-        <var-decl name='ustart' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='43' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='256'>
-        <!-- long int Gridline::uend -->
-        <var-decl name='uend' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='44' column='1'/>
-      </data-member>
-    </class-decl>
-    <!-- struct Quiltspec -->
-    <class-decl name='Quiltspec' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/quilt.h' line='51' column='1' id='type-id-189'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- int Quiltspec::stride -->
-        <var-decl name='stride' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='52' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='32'>
-        <!-- int Quiltspec::width -->
-        <var-decl name='width' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='53' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- int Quiltspec::offset -->
-        <var-decl name='offset' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='54' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='96'>
-        <!-- int Quiltspec::order -->
-        <var-decl name='order' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='55' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='128'>
-        <!-- int Quiltspec::index -->
-        <var-decl name='index' type-id='type-id-11' visibility='default' filepath='libnurbs/internals/quilt.h' line='56' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='160'>
-        <!-- int Quiltspec::bdry[2] -->
-        <var-decl name='bdry' type-id='type-id-213' visibility='default' filepath='libnurbs/internals/quilt.h' line='57' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='224'>
-        <!-- REAL Quiltspec::step_size -->
-        <var-decl name='step_size' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/quilt.h' line='58' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='256'>
-        <!-- Knot* Quiltspec::breakpoints -->
-        <var-decl name='breakpoints' type-id='type-id-214' visibility='default' filepath='libnurbs/internals/quilt.h' line='59' column='1'/>
-      </data-member>
-    </class-decl>
     <!-- struct __jmp_buf_tag -->
     <class-decl name='__jmp_buf_tag' size-in-bits='1600' is-struct='yes' visibility='default' filepath='/usr/include/setjmp.h' line='36' column='1' id='type-id-191'>
       <data-member access='public' layout-offset-in-bits='0'>
@@ -4461,16 +4452,27 @@ 
         <var-decl name='__saved_mask' type-id='type-id-216' visibility='default' filepath='/usr/include/setjmp.h' line='43' column='1'/>
       </data-member>
     </class-decl>
+    <!-- enum arc_side -->
+    <enum-decl name='arc_side' filepath='libnurbs/internals/arc.h' line='52' column='1' id='type-id-195'>
+      <underlying-type type-id='type-id-9'/>
+      <enumerator name='arc_none' value='0'/>
+      <enumerator name='arc_right' value='1'/>
+      <enumerator name='arc_top' value='2'/>
+      <enumerator name='arc_left' value='3'/>
+      <enumerator name='arc_bottom' value='4'/>
+    </enum-decl>
     <!-- typedef __anonymous_struct__ PFVS -->
-    <typedef-decl name='PFVS' type-id='type-id-217' filepath='libnurbs/internals/displaylist.h' line='46' column='1' id='type-id-205'/>
+    <typedef-decl name='PFVS' type-id='type-id-217' filepath='libnurbs/internals/displaylist.h' line='46' column='1' id='type-id-196'/>
     <!-- Knot* -->
-    <pointer-type-def type-id='type-id-218' size-in-bits='64' id='type-id-214'/>
+    <pointer-type-def type-id='type-id-218' size-in-bits='64' id='type-id-212'/>
     <!-- Uarray* -->
-    <pointer-type-def type-id='type-id-200' size-in-bits='64' id='type-id-212'/>
+    <pointer-type-def type-id='type-id-204' size-in-bits='64' id='type-id-214'/>
+    <!-- struct BezierArc -->
+    <class-decl name='BezierArc' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-208'/>
     <!-- class GridTrimVertex -->
     <class-decl name='GridTrimVertex' size-in-bits='384' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='45' column='1' id='type-id-209'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- TrimVertex GridTrimVertex::dummyt -->
         <var-decl name='dummyt' type-id='type-id-172' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='47' column='1'/>
@@ -4498,10 +4500,10 @@ 
       </member-function>
     </class-decl>
     <!-- class Jarcloc -->
-    <class-decl name='Jarcloc' size-in-bits='192' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='41' column='1' id='type-id-211'>
+    <class-decl name='Jarcloc' size-in-bits='192' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='41' column='1' id='type-id-213'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- Arc_ptr Jarcloc::arc -->
-        <var-decl name='arc' type-id='type-id-119' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='43' column='1'/>
+        <var-decl name='arc' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='43' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- TrimVertex* Jarcloc::p -->
@@ -4515,7 +4517,7 @@ 
     <!-- class PwlArc -->
     <class-decl name='PwlArc' size-in-bits='192' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='44' column='1' id='type-id-210'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- TrimVertex* PwlArc::pts -->
         <var-decl name='pts' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='46' column='1'/>
@@ -4532,7 +4534,7 @@ 
         <!-- PwlArc::PwlArc() -->
         <function-decl name='PwlArc' filepath='libnurbs/internals/pwlarc.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'PwlArc*' -->
-          <parameter type-id='type-id-203' is-artificial='yes'/>
+          <parameter type-id='type-id-194' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -4541,7 +4543,7 @@ 
         <!-- PwlArc::PwlArc(int, TrimVertex*) -->
         <function-decl name='PwlArc' filepath='libnurbs/internals/pwlarc.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'PwlArc*' -->
-          <parameter type-id='type-id-203' is-artificial='yes'/>
+          <parameter type-id='type-id-194' is-artificial='yes'/>
           <!-- parameter of type 'int' -->
           <parameter type-id='type-id-11'/>
           <!-- parameter of type 'TrimVertex*' -->
@@ -4554,7 +4556,7 @@ 
         <!-- PwlArc::PwlArc(int, TrimVertex*, long int) -->
         <function-decl name='PwlArc' filepath='libnurbs/internals/pwlarc.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'PwlArc*' -->
-          <parameter type-id='type-id-203' is-artificial='yes'/>
+          <parameter type-id='type-id-194' is-artificial='yes'/>
           <!-- parameter of type 'int' -->
           <parameter type-id='type-id-11'/>
           <!-- parameter of type 'TrimVertex*' -->
@@ -4566,15 +4568,8 @@ 
         </function-decl>
       </member-function>
     </class-decl>
-    <!-- int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='64' id='type-id-213'>
-      <!-- <anonymous range>[2] -->
-      <subrange length='2' type-id='type-id-3' id='type-id-64'/>
-    </array-type-def>
-    <!-- struct BezierArc -->
-    <class-decl name='BezierArc' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-208'/>
     <!-- struct {void (NurbsTessellator*, void*)* __pfn; long int __delta;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-205' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1' id='type-id-217'>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-196' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1' id='type-id-217'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (NurbsTessellator*, void*)* __pfn -->
         <var-decl name='__pfn' type-id='type-id-221' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1'/>
@@ -4584,22 +4579,22 @@ 
         <var-decl name='__delta' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1'/>
       </data-member>
     </class-decl>
+    <!-- int[2] -->
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='64' id='type-id-211'>
+      <!-- <anonymous range>[2] -->
+      <subrange length='2' type-id='type-id-3' id='type-id-64'/>
+    </array-type-def>
     <!-- typedef long int[8] __jmp_buf -->
     <typedef-decl name='__jmp_buf' type-id='type-id-222' filepath='/usr/include/bits/setjmp.h' line='32' column='1' id='type-id-215'/>
     <!-- typedef __anonymous_struct__2 __sigset_t -->
     <typedef-decl name='__sigset_t' type-id='type-id-223' filepath='/usr/include/bits/sigset.h' line='32' column='1' id='type-id-216'/>
     <!-- GridVertex* -->
     <pointer-type-def type-id='type-id-219' size-in-bits='64' id='type-id-220'/>
-    <!-- long int[8] -->
-    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='512' id='type-id-222'>
-      <!-- <anonymous range>[8] -->
-      <subrange length='8' type-id='type-id-3' id='type-id-224'/>
-    </array-type-def>
     <!-- struct GridVertex -->
     <class-decl name='GridVertex' size-in-bits='128' is-struct='yes' visibility='default' filepath='libnurbs/internals/gridvertex.h' line='39' column='1' id='type-id-219'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- long int GridVertex::gparam[2] -->
-        <var-decl name='gparam' type-id='type-id-161' visibility='default' filepath='libnurbs/internals/gridvertex.h' line='40' column='1'/>
+        <var-decl name='gparam' type-id='type-id-165' visibility='default' filepath='libnurbs/internals/gridvertex.h' line='40' column='1'/>
       </data-member>
       <member-function access='public' constructor='yes'>
         <!-- GridVertex::GridVertex() -->
@@ -4628,15 +4623,20 @@ 
     <class-decl name='__anonymous_struct__2' size-in-bits='1024' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-216' visibility='default' filepath='/usr/include/bits/sigset.h' line='30' column='1' id='type-id-223'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int __val[16] -->
-        <var-decl name='__val' type-id='type-id-225' visibility='default' filepath='/usr/include/bits/sigset.h' line='31' column='1'/>
+        <var-decl name='__val' type-id='type-id-224' visibility='default' filepath='/usr/include/bits/sigset.h' line='31' column='1'/>
       </data-member>
     </class-decl>
+    <!-- long int[8] -->
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='512' id='type-id-222'>
+      <!-- <anonymous range>[8] -->
+      <subrange length='8' type-id='type-id-3' id='type-id-225'/>
+    </array-type-def>
     <!-- typedef REAL Knot -->
     <typedef-decl name='Knot' type-id='type-id-1' filepath='libnurbs/internals/types.h' line='45' column='1' id='type-id-218'/>
     <!-- void (NurbsTessellator*, void*)* -->
     <pointer-type-def type-id='type-id-226' size-in-bits='64' id='type-id-221'/>
     <!-- unsigned long int[16] -->
-    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='1024' id='type-id-225'>
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='1024' id='type-id-224'>
       <!-- <anonymous range>[16] -->
       <subrange length='16' type-id='type-id-3' id='type-id-227'/>
     </array-type-def>
@@ -4653,59 +4653,59 @@ 
     <class-decl name='NurbsTessellator' size-in-bits='47616' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='53' column='1' id='type-id-43'>
       <data-member access='protected' layout-offset-in-bits='64'>
         <!-- Renderhints NurbsTessellator::renderhints -->
-        <var-decl name='renderhints' type-id='type-id-70' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='104' column='1'/>
+        <var-decl name='renderhints' type-id='type-id-71' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='104' column='1'/>
       </data-member>
       <data-member access='protected' layout-offset-in-bits='320'>
         <!-- Maplist NurbsTessellator::maplist -->
-        <var-decl name='maplist' type-id='type-id-71' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='105' column='1'/>
+        <var-decl name='maplist' type-id='type-id-72' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='105' column='1'/>
       </data-member>
       <data-member access='protected' layout-offset-in-bits='3008'>
         <!-- Backend NurbsTessellator::backend -->
-        <var-decl name='backend' type-id='type-id-72' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='106' column='1'/>
+        <var-decl name='backend' type-id='type-id-73' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='106' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='3648'>
         <!-- Subdivider NurbsTessellator::subdivider -->
-        <var-decl name='subdivider' type-id='type-id-73' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='134' column='1'/>
+        <var-decl name='subdivider' type-id='type-id-74' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='134' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='24064'>
         <!-- JumpBuffer* NurbsTessellator::jumpbuffer -->
-        <var-decl name='jumpbuffer' type-id='type-id-74' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='135' column='1'/>
+        <var-decl name='jumpbuffer' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='135' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='24128'>
         <!-- Pool NurbsTessellator::o_pwlcurvePool -->
-        <var-decl name='o_pwlcurvePool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='136' column='1'/>
+        <var-decl name='o_pwlcurvePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='136' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='26624'>
         <!-- Pool NurbsTessellator::o_nurbscurvePool -->
-        <var-decl name='o_nurbscurvePool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='137' column='1'/>
+        <var-decl name='o_nurbscurvePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='137' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='29120'>
         <!-- Pool NurbsTessellator::o_curvePool -->
-        <var-decl name='o_curvePool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='138' column='1'/>
+        <var-decl name='o_curvePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='138' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='31616'>
         <!-- Pool NurbsTessellator::o_trimPool -->
-        <var-decl name='o_trimPool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='139' column='1'/>
+        <var-decl name='o_trimPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='139' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='34112'>
         <!-- Pool NurbsTessellator::o_surfacePool -->
-        <var-decl name='o_surfacePool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='140' column='1'/>
+        <var-decl name='o_surfacePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='140' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='36608'>
         <!-- Pool NurbsTessellator::o_nurbssurfacePool -->
-        <var-decl name='o_nurbssurfacePool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='141' column='1'/>
+        <var-decl name='o_nurbssurfacePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='141' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='39104'>
         <!-- Pool NurbsTessellator::propertyPool -->
-        <var-decl name='propertyPool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='142' column='1'/>
+        <var-decl name='propertyPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='142' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='41600'>
         <!-- Pool NurbsTessellator::quiltPool -->
-        <var-decl name='quiltPool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='144' column='1'/>
+        <var-decl name='quiltPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='144' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='44096'>
         <!-- TrimVertexPool NurbsTessellator::extTrimVertexPool -->
-        <var-decl name='extTrimVertexPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='146' column='1'/>
+        <var-decl name='extTrimVertexPool' type-id='type-id-77' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='146' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='46720'>
         <!-- int NurbsTessellator::inSurface -->
@@ -4745,49 +4745,49 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='47040'>
         <!-- O_trim** NurbsTessellator::nextTrim -->
-        <var-decl name='nextTrim' type-id='type-id-77' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='158' column='1'/>
+        <var-decl name='nextTrim' type-id='type-id-78' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='158' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='47104'>
         <!-- O_curve** NurbsTessellator::nextCurve -->
-        <var-decl name='nextCurve' type-id='type-id-78' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='159' column='1'/>
+        <var-decl name='nextCurve' type-id='type-id-79' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='159' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='47168'>
         <!-- O_nurbscurve** NurbsTessellator::nextNurbscurve -->
-        <var-decl name='nextNurbscurve' type-id='type-id-79' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='160' column='1'/>
+        <var-decl name='nextNurbscurve' type-id='type-id-80' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='160' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='47232'>
         <!-- O_pwlcurve** NurbsTessellator::nextPwlcurve -->
-        <var-decl name='nextPwlcurve' type-id='type-id-80' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='161' column='1'/>
+        <var-decl name='nextPwlcurve' type-id='type-id-81' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='161' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='47296'>
         <!-- O_nurbssurface** NurbsTessellator::nextNurbssurface -->
-        <var-decl name='nextNurbssurface' type-id='type-id-81' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='162' column='1'/>
+        <var-decl name='nextNurbssurface' type-id='type-id-82' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='162' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='47360'>
         <!-- O_surface* NurbsTessellator::currentSurface -->
-        <var-decl name='currentSurface' type-id='type-id-82' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='164' column='1'/>
+        <var-decl name='currentSurface' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='164' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='47424'>
         <!-- O_trim* NurbsTessellator::currentTrim -->
-        <var-decl name='currentTrim' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='165' column='1'/>
+        <var-decl name='currentTrim' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='165' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='47488'>
         <!-- O_curve* NurbsTessellator::currentCurve -->
-        <var-decl name='currentCurve' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='166' column='1'/>
+        <var-decl name='currentCurve' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='166' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='47552'>
         <!-- DisplayList* NurbsTessellator::dl -->
-        <var-decl name='dl' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='168' column='1'/>
+        <var-decl name='dl' type-id='type-id-86' visibility='default' filepath='libnurbs/internals/nurbstess.h' line='168' column='1'/>
       </data-member>
       <member-function access='private' constructor='yes'>
         <!-- NurbsTessellator::NurbsTessellator(BasicCurveEvaluator&, BasicSurfaceEvaluator&) -->
         <function-decl name='NurbsTessellator' filepath='libnurbs/internals/nurbsinterfac.cc' line='66' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86' is-artificial='yes'/>
+          <parameter type-id='type-id-87' is-artificial='yes'/>
           <!-- parameter of type 'BasicCurveEvaluator&' -->
-          <parameter type-id='type-id-87'/>
-          <!-- parameter of type 'BasicSurfaceEvaluator&' -->
           <parameter type-id='type-id-88'/>
+          <!-- parameter of type 'BasicSurfaceEvaluator&' -->
+          <parameter type-id='type-id-89'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -4796,7 +4796,7 @@ 
         <!-- NurbsTessellator::~NurbsTessellator(int) -->
         <function-decl name='~NurbsTessellator' filepath='libnurbs/internals/nurbsinterfac.cc' line='88' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86' is-artificial='yes'/>
+          <parameter type-id='type-id-87' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -4807,7 +4807,7 @@ 
         <!-- void NurbsTessellator::bgnrender() -->
         <function-decl name='bgnrender' mangled-name='_ZN16NurbsTessellator9bgnrenderEv' filepath='libnurbs/internals/nurbstess.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86' is-artificial='yes'/>
+          <parameter type-id='type-id-87' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -4816,7 +4816,7 @@ 
         <!-- void NurbsTessellator::endrender() -->
         <function-decl name='endrender' mangled-name='_ZN16NurbsTessellator9endrenderEv' filepath='libnurbs/internals/nurbstess.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86' is-artificial='yes'/>
+          <parameter type-id='type-id-87' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -4825,7 +4825,7 @@ 
         <!-- void NurbsTessellator::makeobj(int) -->
         <function-decl name='makeobj' mangled-name='_ZN16NurbsTessellator7makeobjEi' filepath='libnurbs/internals/nurbstess.h' line='71' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86' is-artificial='yes'/>
+          <parameter type-id='type-id-87' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -4836,7 +4836,7 @@ 
         <!-- void NurbsTessellator::closeobj() -->
         <function-decl name='closeobj' mangled-name='_ZN16NurbsTessellator8closeobjEv' filepath='libnurbs/internals/nurbstess.h' line='72' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86' is-artificial='yes'/>
+          <parameter type-id='type-id-87' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -4845,7 +4845,7 @@ 
         <!-- void NurbsTessellator::errorHandler(int) -->
         <function-decl name='errorHandler' mangled-name='_ZN16NurbsTessellator12errorHandlerEi' filepath='libnurbs/internals/nurbstess.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86' is-artificial='yes'/>
+          <parameter type-id='type-id-87' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -4863,7 +4863,7 @@ 
       <subrange length='2' type-id='type-id-3' id='type-id-64'/>
     </array-type-def>
     <!-- REAL[2] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='64' id='type-id-160'>
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='64' id='type-id-164'>
       <!-- <anonymous range>[2] -->
       <subrange length='2' type-id='type-id-3' id='type-id-64'/>
     </array-type-def>
@@ -4890,7 +4890,7 @@ 
       <subrange length='3' type-id='type-id-3' id='type-id-68'/>
     </array-type-def>
     <!-- long int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='128' id='type-id-161'>
+    <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='128' id='type-id-165'>
       <!-- <anonymous range>[2] -->
       <subrange length='2' type-id='type-id-3' id='type-id-64'/>
     </array-type-def>
@@ -4902,11 +4902,11 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='32'>
         <!-- REAL StoredVertex::coord[2] -->
-        <var-decl name='coord' type-id='type-id-160' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='96' column='1'/>
+        <var-decl name='coord' type-id='type-id-164' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='96' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='128'>
         <!-- long int StoredVertex::point[2] -->
-        <var-decl name='point' type-id='type-id-161' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='97' column='1'/>
+        <var-decl name='point' type-id='type-id-165' visibility='default' filepath='libnurbs/interface/glsurfeval.h' line='97' column='1'/>
       </data-member>
       <member-function access='private' constructor='yes'>
         <!-- StoredVertex::StoredVertex() -->
@@ -4937,7 +4937,7 @@ 
         <!-- BasicSurfaceEvaluator::~BasicSurfaceEvaluator(int) -->
         <function-decl name='~BasicSurfaceEvaluator' filepath='libnurbs/internals/basicsurfeval.h' line='45' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -4948,7 +4948,7 @@ 
         <!-- void BasicSurfaceEvaluator::range2f(long int, REAL*, REAL*) -->
         <function-decl name='range2f' mangled-name='_ZN21BasicSurfaceEvaluator7range2fElPfS0_' filepath='libnurbs/internals/basicsurfeval.cc' line='65' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- parameter of type 'REAL*' -->
@@ -4963,7 +4963,7 @@ 
         <!-- void BasicSurfaceEvaluator::domain2f(REAL, REAL, REAL, REAL) -->
         <function-decl name='domain2f' mangled-name='_ZN21BasicSurfaceEvaluator8domain2fEffff' filepath='libnurbs/internals/basicsurfeval.cc' line='49' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'typedef REAL' -->
           <parameter type-id='type-id-1'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -4980,7 +4980,7 @@ 
         <!-- void BasicSurfaceEvaluator::enable(long int) -->
         <function-decl name='enable' mangled-name='_ZN21BasicSurfaceEvaluator6enableEl' filepath='libnurbs/internals/basicsurfeval.cc' line='74' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- void -->
@@ -4991,7 +4991,7 @@ 
         <!-- void BasicSurfaceEvaluator::disable(long int) -->
         <function-decl name='disable' mangled-name='_ZN21BasicSurfaceEvaluator7disableEl' filepath='libnurbs/internals/basicsurfeval.cc' line='82' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- void -->
@@ -5002,7 +5002,7 @@ 
         <!-- void BasicSurfaceEvaluator::bgnmap2f(long int) -->
         <function-decl name='bgnmap2f' mangled-name='_ZN21BasicSurfaceEvaluator8bgnmap2fEl' filepath='libnurbs/internals/basicsurfeval.cc' line='90' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- void -->
@@ -5013,7 +5013,7 @@ 
         <!-- void BasicSurfaceEvaluator::map2f(long int, REAL, REAL, long int, long int, REAL, REAL, long int, long int, REAL*) -->
         <function-decl name='map2f' mangled-name='_ZN21BasicSurfaceEvaluator5map2fElffllffllPf' filepath='libnurbs/internals/basicsurfeval.cc' line='106' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -5042,7 +5042,7 @@ 
         <!-- void BasicSurfaceEvaluator::mapgrid2f(long int, REAL, REAL, long int, REAL, REAL) -->
         <function-decl name='mapgrid2f' mangled-name='_ZN21BasicSurfaceEvaluator9mapgrid2fElfflff' filepath='libnurbs/internals/basicsurfeval.cc' line='116' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -5063,7 +5063,7 @@ 
         <!-- void BasicSurfaceEvaluator::mapmesh2f(long int, long int, long int, long int, long int) -->
         <function-decl name='mapmesh2f' mangled-name='_ZN21BasicSurfaceEvaluator9mapmesh2fElllll' filepath='libnurbs/internals/basicsurfeval.cc' line='124' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- parameter of type 'long int' -->
@@ -5082,7 +5082,7 @@ 
         <!-- void BasicSurfaceEvaluator::evalcoord2f(long int, REAL, REAL) -->
         <function-decl name='evalcoord2f' mangled-name='_ZN21BasicSurfaceEvaluator11evalcoord2fElff' filepath='libnurbs/internals/basicsurfeval.cc' line='132' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -5097,7 +5097,7 @@ 
         <!-- void BasicSurfaceEvaluator::evalpoint2i(long int, long int) -->
         <function-decl name='evalpoint2i' mangled-name='_ZN21BasicSurfaceEvaluator11evalpoint2iEll' filepath='libnurbs/internals/basicsurfeval.cc' line='140' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- parameter of type 'long int' -->
@@ -5110,7 +5110,7 @@ 
         <!-- void BasicSurfaceEvaluator::endmap2f() -->
         <function-decl name='endmap2f' mangled-name='_ZN21BasicSurfaceEvaluator8endmap2fEv' filepath='libnurbs/internals/basicsurfeval.cc' line='98' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5119,7 +5119,7 @@ 
         <!-- void BasicSurfaceEvaluator::polymode(long int) -->
         <function-decl name='polymode' mangled-name='_ZN21BasicSurfaceEvaluator8polymodeEl' filepath='libnurbs/internals/basicsurfeval.cc' line='57' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- void -->
@@ -5130,7 +5130,7 @@ 
         <!-- void BasicSurfaceEvaluator::bgnline() -->
         <function-decl name='bgnline' mangled-name='_ZN21BasicSurfaceEvaluator7bgnlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='148' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5139,7 +5139,7 @@ 
         <!-- void BasicSurfaceEvaluator::endline() -->
         <function-decl name='endline' mangled-name='_ZN21BasicSurfaceEvaluator7endlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='156' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5148,7 +5148,7 @@ 
         <!-- void BasicSurfaceEvaluator::bgnclosedline() -->
         <function-decl name='bgnclosedline' mangled-name='_ZN21BasicSurfaceEvaluator13bgnclosedlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='164' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5157,7 +5157,7 @@ 
         <!-- void BasicSurfaceEvaluator::endclosedline() -->
         <function-decl name='endclosedline' mangled-name='_ZN21BasicSurfaceEvaluator13endclosedlineEv' filepath='libnurbs/internals/basicsurfeval.cc' line='172' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5166,7 +5166,7 @@ 
         <!-- void BasicSurfaceEvaluator::bgntmesh() -->
         <function-decl name='bgntmesh' mangled-name='_ZN21BasicSurfaceEvaluator8bgntmeshEv' filepath='libnurbs/internals/basicsurfeval.cc' line='194' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5175,7 +5175,7 @@ 
         <!-- void BasicSurfaceEvaluator::swaptmesh() -->
         <function-decl name='swaptmesh' mangled-name='_ZN21BasicSurfaceEvaluator9swaptmeshEv' filepath='libnurbs/internals/basicsurfeval.cc' line='202' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5184,7 +5184,7 @@ 
         <!-- void BasicSurfaceEvaluator::endtmesh() -->
         <function-decl name='endtmesh' mangled-name='_ZN21BasicSurfaceEvaluator8endtmeshEv' filepath='libnurbs/internals/basicsurfeval.cc' line='210' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5193,7 +5193,7 @@ 
         <!-- void BasicSurfaceEvaluator::bgnqstrip() -->
         <function-decl name='bgnqstrip' mangled-name='_ZN21BasicSurfaceEvaluator9bgnqstripEv' filepath='libnurbs/internals/basicsurfeval.cc' line='218' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5202,7 +5202,7 @@ 
         <!-- void BasicSurfaceEvaluator::endqstrip() -->
         <function-decl name='endqstrip' mangled-name='_ZN21BasicSurfaceEvaluator9endqstripEv' filepath='libnurbs/internals/basicsurfeval.cc' line='226' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5211,7 +5211,7 @@ 
         <!-- void BasicSurfaceEvaluator::bgntfan() -->
         <function-decl name='bgntfan' mangled-name='_ZN21BasicSurfaceEvaluator7bgntfanEv' filepath='libnurbs/internals/basicsurfeval.cc' line='180' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5220,7 +5220,7 @@ 
         <!-- void BasicSurfaceEvaluator::endtfan() -->
         <function-decl name='endtfan' mangled-name='_ZN21BasicSurfaceEvaluator7endtfanEv' filepath='libnurbs/internals/basicsurfeval.cc' line='188' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5229,7 +5229,7 @@ 
         <!-- void BasicSurfaceEvaluator::evalUStrip(int, REAL, REAL*, int, REAL, REAL*) -->
         <function-decl name='evalUStrip' mangled-name='_ZN21BasicSurfaceEvaluator10evalUStripEifPfifS0_' filepath='libnurbs/internals/basicsurfeval.h' line='75' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'int' -->
           <parameter type-id='type-id-11'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -5250,7 +5250,7 @@ 
         <!-- void BasicSurfaceEvaluator::evalVStrip(int, REAL, REAL*, int, REAL, REAL*) -->
         <function-decl name='evalVStrip' mangled-name='_ZN21BasicSurfaceEvaluator10evalVStripEifPfifS0_' filepath='libnurbs/internals/basicsurfeval.h' line='79' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'int' -->
           <parameter type-id='type-id-11'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -5271,7 +5271,7 @@ 
         <!-- void BasicSurfaceEvaluator::inDoEvalCoord2NOGE(REAL, REAL, REAL*, REAL*) -->
         <function-decl name='inDoEvalCoord2NOGE' mangled-name='_ZN21BasicSurfaceEvaluator18inDoEvalCoord2NOGEEffPfS0_' filepath='libnurbs/internals/basicsurfeval.h' line='82' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'typedef REAL' -->
           <parameter type-id='type-id-1'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -5288,7 +5288,7 @@ 
         <!-- void BasicSurfaceEvaluator::inDoEvalCoord2NOGE_BU(REAL, REAL, REAL*, REAL*) -->
         <function-decl name='inDoEvalCoord2NOGE_BU' mangled-name='_ZN21BasicSurfaceEvaluator21inDoEvalCoord2NOGE_BUEffPfS0_' filepath='libnurbs/internals/basicsurfeval.h' line='83' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'typedef REAL' -->
           <parameter type-id='type-id-1'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -5305,7 +5305,7 @@ 
         <!-- void BasicSurfaceEvaluator::inDoEvalCoord2NOGE_BV(REAL, REAL, REAL*, REAL*) -->
         <function-decl name='inDoEvalCoord2NOGE_BV' mangled-name='_ZN21BasicSurfaceEvaluator21inDoEvalCoord2NOGE_BVEffPfS0_' filepath='libnurbs/internals/basicsurfeval.h' line='84' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'typedef REAL' -->
           <parameter type-id='type-id-1'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -5322,7 +5322,7 @@ 
         <!-- void BasicSurfaceEvaluator::inPreEvaluateBV_intfac(REAL) -->
         <function-decl name='inPreEvaluateBV_intfac' mangled-name='_ZN21BasicSurfaceEvaluator22inPreEvaluateBV_intfacEf' filepath='libnurbs/internals/basicsurfeval.h' line='85' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'typedef REAL' -->
           <parameter type-id='type-id-1'/>
           <!-- void -->
@@ -5333,7 +5333,7 @@ 
         <!-- void BasicSurfaceEvaluator::inPreEvaluateBU_intfac(REAL) -->
         <function-decl name='inPreEvaluateBU_intfac' mangled-name='_ZN21BasicSurfaceEvaluator22inPreEvaluateBU_intfacEf' filepath='libnurbs/internals/basicsurfeval.h' line='86' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'BasicSurfaceEvaluator*' -->
-          <parameter type-id='type-id-90' is-artificial='yes'/>
+          <parameter type-id='type-id-70' is-artificial='yes'/>
           <!-- parameter of type 'typedef REAL' -->
           <parameter type-id='type-id-1'/>
           <!-- void -->
@@ -5529,7 +5529,7 @@ 
       </data-member>
     </class-decl>
     <!-- BasicSurfaceEvaluator* -->
-    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-90'/>
+    <pointer-type-def type-id='type-id-48' size-in-bits='64' id='type-id-70'/>
     <!-- GLenum* -->
     <pointer-type-def type-id='type-id-59' size-in-bits='64' id='type-id-134'/>
     <!-- REAL[3]* -->
@@ -5557,14 +5557,14 @@ 
     <!-- char -->
     <type-decl name='char' size-in-bits='8' id='type-id-143'/>
     <!-- char*[32] -->
-    <array-type-def dimensions='1' type-id='type-id-111' size-in-bits='2048' id='type-id-110'>
+    <array-type-def dimensions='1' type-id='type-id-115' size-in-bits='2048' id='type-id-114'>
       <!-- <anonymous range>[32] -->
       <subrange length='32' type-id='type-id-3' id='type-id-144'/>
     </array-type-def>
     <!-- struct Arc -->
     <class-decl name='Arc' size-in-bits='448' is-struct='yes' visibility='default' filepath='libnurbs/internals/arc.h' line='55' column='1' id='type-id-168'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' static='yes'>
         <!-- static const int Arc::bezier_tag -->
         <var-decl name='bezier_tag' type-id='type-id-174' mangled-name='_ZN3Arc10bezier_tagE' visibility='default' filepath='libnurbs/internals/arc.h' line='58' column='1'/>
@@ -5579,23 +5579,23 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- Arc_ptr Arc::prev -->
-        <var-decl name='prev' type-id='type-id-119' visibility='default' filepath='libnurbs/internals/arc.h' line='61' column='1'/>
+        <var-decl name='prev' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/arc.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- Arc_ptr Arc::next -->
-        <var-decl name='next' type-id='type-id-119' visibility='default' filepath='libnurbs/internals/arc.h' line='62' column='1'/>
+        <var-decl name='next' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/arc.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- Arc_ptr Arc::link -->
-        <var-decl name='link' type-id='type-id-119' visibility='default' filepath='libnurbs/internals/arc.h' line='63' column='1'/>
+        <var-decl name='link' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/arc.h' line='63' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- BezierArc* Arc::bezierArc -->
-        <var-decl name='bezierArc' type-id='type-id-202' visibility='default' filepath='libnurbs/internals/arc.h' line='64' column='1'/>
+        <var-decl name='bezierArc' type-id='type-id-193' visibility='default' filepath='libnurbs/internals/arc.h' line='64' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- PwlArc* Arc::pwlArc -->
-        <var-decl name='pwlArc' type-id='type-id-203' visibility='default' filepath='libnurbs/internals/arc.h' line='65' column='1'/>
+        <var-decl name='pwlArc' type-id='type-id-194' visibility='default' filepath='libnurbs/internals/arc.h' line='65' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- long int Arc::type -->
@@ -5613,7 +5613,7 @@ 
           <!-- parameter of type 'Arc*' -->
           <parameter type-id='type-id-167'/>
           <!-- parameter of type 'PwlArc*' -->
-          <parameter type-id='type-id-203'/>
+          <parameter type-id='type-id-194'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5624,7 +5624,7 @@ 
           <!-- implicit parameter of type 'Arc*' -->
           <parameter type-id='type-id-167' is-artificial='yes'/>
           <!-- parameter of type 'enum arc_side' -->
-          <parameter type-id='type-id-204'/>
+          <parameter type-id='type-id-195'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- void -->
@@ -5633,10 +5633,10 @@ 
       </member-function>
     </class-decl>
     <!-- class Pool -->
-    <class-decl name='Pool' size-in-bits='2496' visibility='default' filepath='libnurbs/internals/bufpool.h' line='50' column='1' id='type-id-75'>
+    <class-decl name='Pool' size-in-bits='2496' visibility='default' filepath='libnurbs/internals/bufpool.h' line='50' column='1' id='type-id-76'>
       <member-type access='protected'>
         <!-- enum Pool::Magic -->
-        <enum-decl name='Magic' filepath='libnurbs/internals/bufpool.h' line='70' column='1' id='type-id-108'>
+        <enum-decl name='Magic' filepath='libnurbs/internals/bufpool.h' line='70' column='1' id='type-id-112'>
           <underlying-type type-id='type-id-9'/>
           <enumerator name='is_allocated' value='62369'/>
           <enumerator name='is_free' value='61858'/>
@@ -5644,11 +5644,11 @@ 
       </member-type>
       <data-member access='protected' layout-offset-in-bits='0'>
         <!-- Buffer* Pool::freelist -->
-        <var-decl name='freelist' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/bufpool.h' line='62' column='1'/>
+        <var-decl name='freelist' type-id='type-id-113' visibility='default' filepath='libnurbs/internals/bufpool.h' line='62' column='1'/>
       </data-member>
       <data-member access='protected' layout-offset-in-bits='64'>
         <!-- char* Pool::blocklist[32] -->
-        <var-decl name='blocklist' type-id='type-id-110' visibility='default' filepath='libnurbs/internals/bufpool.h' line='63' column='1'/>
+        <var-decl name='blocklist' type-id='type-id-114' visibility='default' filepath='libnurbs/internals/bufpool.h' line='63' column='1'/>
       </data-member>
       <data-member access='protected' layout-offset-in-bits='2112'>
         <!-- int Pool::nextblock -->
@@ -5656,7 +5656,7 @@ 
       </data-member>
       <data-member access='protected' layout-offset-in-bits='2176'>
         <!-- char* Pool::curblock -->
-        <var-decl name='curblock' type-id='type-id-111' visibility='default' filepath='libnurbs/internals/bufpool.h' line='65' column='1'/>
+        <var-decl name='curblock' type-id='type-id-115' visibility='default' filepath='libnurbs/internals/bufpool.h' line='65' column='1'/>
       </data-member>
       <data-member access='protected' layout-offset-in-bits='2240'>
         <!-- int Pool::buffersize -->
@@ -5676,23 +5676,23 @@ 
       </data-member>
       <data-member access='protected' layout-offset-in-bits='2368'>
         <!-- const char* Pool::name -->
-        <var-decl name='name' type-id='type-id-112' visibility='default' filepath='libnurbs/internals/bufpool.h' line='71' column='1'/>
+        <var-decl name='name' type-id='type-id-116' visibility='default' filepath='libnurbs/internals/bufpool.h' line='71' column='1'/>
       </data-member>
       <data-member access='protected' layout-offset-in-bits='2432'>
         <!-- Pool::Magic Pool::magic -->
-        <var-decl name='magic' type-id='type-id-108' visibility='default' filepath='libnurbs/internals/bufpool.h' line='72' column='1'/>
+        <var-decl name='magic' type-id='type-id-112' visibility='default' filepath='libnurbs/internals/bufpool.h' line='72' column='1'/>
       </data-member>
       <member-function access='private' constructor='yes'>
         <!-- Pool::Pool(int, int, const char*) -->
         <function-decl name='Pool' filepath='libnurbs/internals/bufpool.h' line='52' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Pool*' -->
-          <parameter type-id='type-id-113' is-artificial='yes'/>
+          <parameter type-id='type-id-117' is-artificial='yes'/>
           <!-- parameter of type 'int' -->
           <parameter type-id='type-id-11'/>
           <!-- parameter of type 'int' -->
           <parameter type-id='type-id-11'/>
           <!-- parameter of type 'const char*' -->
-          <parameter type-id='type-id-112'/>
+          <parameter type-id='type-id-116'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5701,7 +5701,7 @@ 
         <!-- Pool::~Pool(int) -->
         <function-decl name='~Pool' filepath='libnurbs/internals/bufpool.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Pool*' -->
-          <parameter type-id='type-id-113' is-artificial='yes'/>
+          <parameter type-id='type-id-117' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -5715,16 +5715,16 @@ 
     <class-decl name='Buffer' size-in-bits='64' visibility='default' filepath='libnurbs/internals/bufpool.h' line='45' column='1' id='type-id-135'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- Buffer* Buffer::next -->
-        <var-decl name='next' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/bufpool.h' line='47' column='1'/>
+        <var-decl name='next' type-id='type-id-113' visibility='default' filepath='libnurbs/internals/bufpool.h' line='47' column='1'/>
       </data-member>
     </class-decl>
     <!-- class PooledObj -->
-    <class-decl name='PooledObj' size-in-bits='8' visibility='default' filepath='libnurbs/internals/bufpool.h' line='118' column='1' id='type-id-164'/>
+    <class-decl name='PooledObj' size-in-bits='8' visibility='default' filepath='libnurbs/internals/bufpool.h' line='118' column='1' id='type-id-157'/>
     <!-- struct TrimVertex -->
     <class-decl name='TrimVertex' size-in-bits='128' is-struct='yes' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='43' column='1' id='type-id-172'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- REAL TrimVertex::param[2] -->
-        <var-decl name='param' type-id='type-id-160' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='45' column='1'/>
+        <var-decl name='param' type-id='type-id-164' visibility='default' filepath='libnurbs/internals/trimvertex.h' line='45' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- long int TrimVertex::nuid -->
@@ -5732,9 +5732,9 @@ 
       </data-member>
     </class-decl>
     <!-- typedef Arc* Arc_ptr -->
-    <typedef-decl name='Arc_ptr' type-id='type-id-167' filepath='libnurbs/internals/arc.h' line='50' column='1' id='type-id-119'/>
+    <typedef-decl name='Arc_ptr' type-id='type-id-167' filepath='libnurbs/internals/arc.h' line='50' column='1' id='type-id-124'/>
     <!-- enum arc_side -->
-    <enum-decl name='arc_side' filepath='libnurbs/internals/arc.h' line='52' column='1' id='type-id-204'>
+    <enum-decl name='arc_side' filepath='libnurbs/internals/arc.h' line='52' column='1' id='type-id-195'>
       <underlying-type type-id='type-id-9'/>
       <enumerator name='arc_none' value='0'/>
       <enumerator name='arc_right' value='1'/>
@@ -5745,7 +5745,7 @@ 
     <!-- class PwlArc -->
     <class-decl name='PwlArc' size-in-bits='192' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='44' column='1' id='type-id-210'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- TrimVertex* PwlArc::pts -->
         <var-decl name='pts' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/pwlarc.h' line='46' column='1'/>
@@ -5762,7 +5762,7 @@ 
         <!-- PwlArc::PwlArc() -->
         <function-decl name='PwlArc' filepath='libnurbs/internals/pwlarc.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'PwlArc*' -->
-          <parameter type-id='type-id-203' is-artificial='yes'/>
+          <parameter type-id='type-id-194' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5771,7 +5771,7 @@ 
         <!-- PwlArc::PwlArc(int, TrimVertex*) -->
         <function-decl name='PwlArc' filepath='libnurbs/internals/pwlarc.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'PwlArc*' -->
-          <parameter type-id='type-id-203' is-artificial='yes'/>
+          <parameter type-id='type-id-194' is-artificial='yes'/>
           <!-- parameter of type 'int' -->
           <parameter type-id='type-id-11'/>
           <!-- parameter of type 'TrimVertex*' -->
@@ -5784,7 +5784,7 @@ 
         <!-- PwlArc::PwlArc(int, TrimVertex*, long int) -->
         <function-decl name='PwlArc' filepath='libnurbs/internals/pwlarc.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'PwlArc*' -->
-          <parameter type-id='type-id-203' is-artificial='yes'/>
+          <parameter type-id='type-id-194' is-artificial='yes'/>
           <!-- parameter of type 'int' -->
           <parameter type-id='type-id-11'/>
           <!-- parameter of type 'TrimVertex*' -->
@@ -5801,33 +5801,33 @@ 
     <!-- Arc* const -->
     <qualified-type-def type-id='type-id-167' const='yes' id='type-id-239'/>
     <!-- Arc_ptr* -->
-    <pointer-type-def type-id='type-id-119' size-in-bits='64' id='type-id-240'/>
+    <pointer-type-def type-id='type-id-124' size-in-bits='64' id='type-id-240'/>
     <!-- BezierArc* -->
-    <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-202'/>
+    <pointer-type-def type-id='type-id-208' size-in-bits='64' id='type-id-193'/>
     <!-- Buffer* -->
-    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-109'/>
+    <pointer-type-def type-id='type-id-135' size-in-bits='64' id='type-id-113'/>
     <!-- Pool& -->
-    <reference-type-def kind='lvalue' type-id='type-id-75' size-in-bits='64' id='type-id-150'/>
+    <reference-type-def kind='lvalue' type-id='type-id-76' size-in-bits='64' id='type-id-150'/>
     <!-- Pool* -->
-    <pointer-type-def type-id='type-id-75' size-in-bits='64' id='type-id-113'/>
+    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-117'/>
     <!-- PooledObj* -->
-    <pointer-type-def type-id='type-id-164' size-in-bits='64' id='type-id-241'/>
+    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-241'/>
     <!-- PwlArc* -->
-    <pointer-type-def type-id='type-id-210' size-in-bits='64' id='type-id-203'/>
+    <pointer-type-def type-id='type-id-210' size-in-bits='64' id='type-id-194'/>
     <!-- TrimVertex* -->
     <pointer-type-def type-id='type-id-172' size-in-bits='64' id='type-id-141'/>
     <!-- char* -->
-    <pointer-type-def type-id='type-id-143' size-in-bits='64' id='type-id-111'/>
+    <pointer-type-def type-id='type-id-143' size-in-bits='64' id='type-id-115'/>
     <!-- const char -->
-    <qualified-type-def type-id='type-id-143' const='yes' id='type-id-162'/>
+    <qualified-type-def type-id='type-id-143' const='yes' id='type-id-166'/>
     <!-- const char* -->
-    <pointer-type-def type-id='type-id-162' size-in-bits='64' id='type-id-112'/>
+    <pointer-type-def type-id='type-id-166' size-in-bits='64' id='type-id-116'/>
     <!-- const int -->
     <qualified-type-def type-id='type-id-11' const='yes' id='type-id-174'/>
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/arcsorter.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- REAL[4] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='128' id='type-id-122'>
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='128' id='type-id-127'>
       <!-- <anonymous range>[4] -->
       <subrange length='4' type-id='type-id-3' id='type-id-65'/>
     </array-type-def>
@@ -5841,7 +5841,7 @@ 
       <subrange length='24' type-id='type-id-3' id='type-id-171'/>
     </array-type-def>
     <!-- struct Renderhints -->
-    <class-decl name='Renderhints' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/renderhints.h' line='41' column='1' id='type-id-70'>
+    <class-decl name='Renderhints' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/renderhints.h' line='41' column='1' id='type-id-71'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- REAL Renderhints::display_method -->
         <var-decl name='display_method' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/renderhints.h' line='49' column='1'/>
@@ -5878,7 +5878,7 @@ 
         <!-- Renderhints::Renderhints() -->
         <function-decl name='Renderhints' filepath='libnurbs/internals/renderhints.h' line='43' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Renderhints*' -->
-          <parameter type-id='type-id-129' is-artificial='yes'/>
+          <parameter type-id='type-id-118' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5894,7 +5894,7 @@ 
         <!-- Sorter::Sorter(int) -->
         <function-decl name='Sorter' filepath='libnurbs/internals/sorter.cc' line='44' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Sorter*' -->
-          <parameter type-id='type-id-198' is-artificial='yes'/>
+          <parameter type-id='type-id-202' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -5905,7 +5905,7 @@ 
         <!-- Sorter::~Sorter(int) -->
         <function-decl name='~Sorter' filepath='libnurbs/internals/sorter.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Sorter*' -->
-          <parameter type-id='type-id-198' is-artificial='yes'/>
+          <parameter type-id='type-id-202' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -5916,11 +5916,11 @@ 
         <!-- int Sorter::qscmp(char*, char*) -->
         <function-decl name='qscmp' mangled-name='_ZN6Sorter5qscmpEPcS0_' filepath='libnurbs/internals/sorter.cc' line='56' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Sorter*' -->
-          <parameter type-id='type-id-198' is-artificial='yes'/>
+          <parameter type-id='type-id-202' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- int -->
           <return type-id='type-id-11'/>
         </function-decl>
@@ -5929,11 +5929,11 @@ 
         <!-- void Sorter::qsexc(char*, char*) -->
         <function-decl name='qsexc' mangled-name='_ZN6Sorter5qsexcEPcS0_' filepath='libnurbs/internals/sorter.cc' line='64' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Sorter*' -->
-          <parameter type-id='type-id-198' is-artificial='yes'/>
+          <parameter type-id='type-id-202' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5942,13 +5942,13 @@ 
         <!-- void Sorter::qstexc(char*, char*, char*) -->
         <function-decl name='qstexc' mangled-name='_ZN6Sorter6qstexcEPcS0_S0_' filepath='libnurbs/internals/sorter.cc' line='71' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Sorter*' -->
-          <parameter type-id='type-id-198' is-artificial='yes'/>
+          <parameter type-id='type-id-202' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -5979,9 +5979,9 @@ 
           <!-- implicit parameter of type 'ArcSorter*' -->
           <parameter type-id='type-id-244' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- int -->
           <return type-id='type-id-11'/>
         </function-decl>
@@ -5992,9 +5992,9 @@ 
           <!-- implicit parameter of type 'ArcSorter*' -->
           <parameter type-id='type-id-244' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -6005,11 +6005,11 @@ 
           <!-- implicit parameter of type 'ArcSorter*' -->
           <parameter type-id='type-id-244' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -6045,9 +6045,9 @@ 
           <!-- implicit parameter of type 'FlistSorter*' -->
           <parameter type-id='type-id-177' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- int -->
           <return type-id='type-id-11'/>
         </function-decl>
@@ -6058,9 +6058,9 @@ 
           <!-- implicit parameter of type 'FlistSorter*' -->
           <parameter type-id='type-id-177' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -6071,21 +6071,21 @@ 
           <!-- implicit parameter of type 'FlistSorter*' -->
           <parameter type-id='type-id-177' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
       </member-function>
     </class-decl>
     <!-- struct TrimVertexPool -->
-    <class-decl name='TrimVertexPool' size-in-bits='2624' is-struct='yes' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='45' column='1' id='type-id-76'>
+    <class-decl name='TrimVertexPool' size-in-bits='2624' is-struct='yes' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='45' column='1' id='type-id-77'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- Pool TrimVertexPool::pool -->
-        <var-decl name='pool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='52' column='1'/>
+        <var-decl name='pool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/trimvertpool.h' line='52' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='2496'>
         <!-- TrimVertex** TrimVertexPool::vlist -->
@@ -6123,10 +6123,10 @@ 
     <!-- struct Quilt -->
     <class-decl name='Quilt' size-in-bits='896' is-struct='yes' visibility='default' filepath='libnurbs/internals/quilt.h' line='64' column='1' id='type-id-140'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- Mapdesc* Quilt::mapdesc -->
-        <var-decl name='mapdesc' type-id='type-id-103' visibility='default' filepath='libnurbs/internals/quilt.h' line='67' column='1'/>
+        <var-decl name='mapdesc' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/quilt.h' line='67' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- REAL* Quilt::cpts -->
@@ -6142,29 +6142,29 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='832'>
         <!-- Quilt* Quilt::next -->
-        <var-decl name='next' type-id='type-id-120' visibility='default' filepath='libnurbs/internals/quilt.h' line='71' column='1'/>
+        <var-decl name='next' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/quilt.h' line='71' column='1'/>
       </data-member>
       <member-function access='public' constructor='yes'>
         <!-- Quilt::Quilt(Mapdesc*) -->
         <function-decl name='Quilt' filepath='libnurbs/internals/quilt.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Quilt*' -->
-          <parameter type-id='type-id-120' is-artificial='yes'/>
+          <parameter type-id='type-id-125' is-artificial='yes'/>
           <!-- parameter of type 'Mapdesc*' -->
-          <parameter type-id='type-id-103'/>
+          <parameter type-id='type-id-107'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
       </member-function>
     </class-decl>
     <!-- class Bin -->
-    <class-decl name='Bin' size-in-bits='128' visibility='default' filepath='libnurbs/internals/bin.h' line='44' column='1' id='type-id-118'>
+    <class-decl name='Bin' size-in-bits='128' visibility='default' filepath='libnurbs/internals/bin.h' line='44' column='1' id='type-id-123'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- Arc_ptr Bin::head -->
-        <var-decl name='head' type-id='type-id-119' visibility='default' filepath='libnurbs/internals/bin.h' line='46' column='1'/>
+        <var-decl name='head' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/bin.h' line='46' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- Arc_ptr Bin::current -->
-        <var-decl name='current' type-id='type-id-119' visibility='default' filepath='libnurbs/internals/bin.h' line='47' column='1'/>
+        <var-decl name='current' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/bin.h' line='47' column='1'/>
       </data-member>
       <member-function access='private' constructor='yes'>
         <!-- Bin::Bin() -->
@@ -6188,7 +6188,7 @@ 
       </member-function>
     </class-decl>
     <!-- class ArcTessellator -->
-    <class-decl name='ArcTessellator' size-in-bits='128' visibility='default' filepath='libnurbs/internals/arctess.h' line='47' column='1' id='type-id-116'>
+    <class-decl name='ArcTessellator' size-in-bits='128' visibility='default' filepath='libnurbs/internals/arctess.h' line='47' column='1' id='type-id-121'>
       <data-member access='private' static='yes'>
         <!-- static REAL ArcTessellator::gl_Bernstein[][24][24] -->
         <var-decl name='gl_Bernstein' type-id='type-id-145' mangled-name='_ZN14ArcTessellator12gl_BernsteinE' visibility='default' filepath='libnurbs/internals/arctess.h' line='60' column='1'/>
@@ -6250,7 +6250,7 @@ 
           <!-- implicit parameter of type 'Curvelist*' -->
           <parameter type-id='type-id-249' is-artificial='yes'/>
           <!-- parameter of type 'Quilt*' -->
-          <parameter type-id='type-id-120'/>
+          <parameter type-id='type-id-125'/>
           <!-- parameter of type 'typedef REAL' -->
           <parameter type-id='type-id-1'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -6285,14 +6285,14 @@ 
       </member-function>
     </class-decl>
     <!-- struct Backend -->
-    <class-decl name='Backend' size-in-bits='640' is-struct='yes' visibility='default' filepath='libnurbs/internals/backend.h' line='46' column='1' id='type-id-72'>
+    <class-decl name='Backend' size-in-bits='640' is-struct='yes' visibility='default' filepath='libnurbs/internals/backend.h' line='46' column='1' id='type-id-73'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- BasicCurveEvaluator& Backend::curveEvaluator -->
-        <var-decl name='curveEvaluator' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/backend.h' line='48' column='1'/>
+        <var-decl name='curveEvaluator' type-id='type-id-103' visibility='default' filepath='libnurbs/internals/backend.h' line='48' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- BasicSurfaceEvaluator& Backend::surfaceEvaluator -->
-        <var-decl name='surfaceEvaluator' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/backend.h' line='49' column='1'/>
+        <var-decl name='surfaceEvaluator' type-id='type-id-104' visibility='default' filepath='libnurbs/internals/backend.h' line='49' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='128'>
         <!-- int Backend::wireframetris -->
@@ -6308,7 +6308,7 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='224'>
         <!-- REAL Backend::mesh[3][4] -->
-        <var-decl name='mesh' type-id='type-id-127' visibility='default' filepath='libnurbs/internals/backend.h' line='108' column='1'/>
+        <var-decl name='mesh' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/backend.h' line='108' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='608'>
         <!-- int Backend::meshindex -->
@@ -6318,21 +6318,21 @@ 
         <!-- Backend::Backend(BasicCurveEvaluator&, BasicSurfaceEvaluator&) -->
         <function-decl name='Backend' filepath='libnurbs/internals/backend.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Backend*' -->
-          <parameter type-id='type-id-128' is-artificial='yes'/>
+          <parameter type-id='type-id-106' is-artificial='yes'/>
           <!-- parameter of type 'BasicCurveEvaluator&' -->
-          <parameter type-id='type-id-87'/>
-          <!-- parameter of type 'BasicSurfaceEvaluator&' -->
           <parameter type-id='type-id-88'/>
+          <!-- parameter of type 'BasicSurfaceEvaluator&' -->
+          <parameter type-id='type-id-89'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
       </member-function>
     </class-decl>
     <!-- class Subdivider -->
-    <class-decl name='Subdivider' size-in-bits='20416' visibility='default' filepath='libnurbs/internals/subdivider.h' line='55' column='1' id='type-id-73'>
+    <class-decl name='Subdivider' size-in-bits='20416' visibility='default' filepath='libnurbs/internals/subdivider.h' line='55' column='1' id='type-id-74'>
       <member-type access='private'>
         <!-- enum Subdivider::dir -->
-        <enum-decl name='dir' filepath='libnurbs/internals/subdivider.h' line='105' column='1' id='type-id-114'>
+        <enum-decl name='dir' filepath='libnurbs/internals/subdivider.h' line='105' column='1' id='type-id-119'>
           <underlying-type type-id='type-id-9'/>
           <enumerator name='down' value='0'/>
           <enumerator name='same' value='1'/>
@@ -6342,47 +6342,47 @@ 
       </member-type>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- Slicer Subdivider::slicer -->
-        <var-decl name='slicer' type-id='type-id-115' visibility='default' filepath='libnurbs/internals/subdivider.h' line='112' column='1'/>
+        <var-decl name='slicer' type-id='type-id-120' visibility='default' filepath='libnurbs/internals/subdivider.h' line='112' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='8064'>
         <!-- ArcTessellator Subdivider::arctessellator -->
-        <var-decl name='arctessellator' type-id='type-id-116' visibility='default' filepath='libnurbs/internals/subdivider.h' line='113' column='1'/>
+        <var-decl name='arctessellator' type-id='type-id-121' visibility='default' filepath='libnurbs/internals/subdivider.h' line='113' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='8192'>
         <!-- Pool Subdivider::arcpool -->
-        <var-decl name='arcpool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/subdivider.h' line='114' column='1'/>
+        <var-decl name='arcpool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/subdivider.h' line='114' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='10688'>
         <!-- Pool Subdivider::bezierarcpool -->
-        <var-decl name='bezierarcpool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/subdivider.h' line='115' column='1'/>
+        <var-decl name='bezierarcpool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/subdivider.h' line='115' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='13184'>
         <!-- Pool Subdivider::pwlarcpool -->
-        <var-decl name='pwlarcpool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/subdivider.h' line='116' column='1'/>
+        <var-decl name='pwlarcpool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/subdivider.h' line='116' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='15680'>
         <!-- TrimVertexPool Subdivider::trimvertexpool -->
-        <var-decl name='trimvertexpool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/subdivider.h' line='117' column='1'/>
+        <var-decl name='trimvertexpool' type-id='type-id-77' visibility='default' filepath='libnurbs/internals/subdivider.h' line='117' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='18304'>
         <!-- JumpBuffer* Subdivider::jumpbuffer -->
-        <var-decl name='jumpbuffer' type-id='type-id-74' visibility='default' filepath='libnurbs/internals/subdivider.h' line='119' column='1'/>
+        <var-decl name='jumpbuffer' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/subdivider.h' line='119' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='18368'>
         <!-- Renderhints& Subdivider::renderhints -->
-        <var-decl name='renderhints' type-id='type-id-117' visibility='default' filepath='libnurbs/internals/subdivider.h' line='120' column='1'/>
+        <var-decl name='renderhints' type-id='type-id-122' visibility='default' filepath='libnurbs/internals/subdivider.h' line='120' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='18432'>
         <!-- Backend& Subdivider::backend -->
-        <var-decl name='backend' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/subdivider.h' line='121' column='1'/>
+        <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/subdivider.h' line='121' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='18496'>
         <!-- Bin Subdivider::initialbin -->
-        <var-decl name='initialbin' type-id='type-id-118' visibility='default' filepath='libnurbs/internals/subdivider.h' line='123' column='1'/>
+        <var-decl name='initialbin' type-id='type-id-123' visibility='default' filepath='libnurbs/internals/subdivider.h' line='123' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='18624'>
         <!-- Arc_ptr Subdivider::pjarc -->
-        <var-decl name='pjarc' type-id='type-id-119' visibility='default' filepath='libnurbs/internals/subdivider.h' line='124' column='1'/>
+        <var-decl name='pjarc' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/subdivider.h' line='124' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='18688'>
         <!-- int Subdivider::s_index -->
@@ -6394,27 +6394,27 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='18752'>
         <!-- Quilt* Subdivider::qlist -->
-        <var-decl name='qlist' type-id='type-id-120' visibility='default' filepath='libnurbs/internals/subdivider.h' line='127' column='1'/>
+        <var-decl name='qlist' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/subdivider.h' line='127' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='18816'>
         <!-- Flist Subdivider::spbrkpts -->
-        <var-decl name='spbrkpts' type-id='type-id-121' visibility='default' filepath='libnurbs/internals/subdivider.h' line='128' column='1'/>
+        <var-decl name='spbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='128' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='19136'>
         <!-- Flist Subdivider::tpbrkpts -->
-        <var-decl name='tpbrkpts' type-id='type-id-121' visibility='default' filepath='libnurbs/internals/subdivider.h' line='129' column='1'/>
+        <var-decl name='tpbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='129' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='19456'>
         <!-- Flist Subdivider::smbrkpts -->
-        <var-decl name='smbrkpts' type-id='type-id-121' visibility='default' filepath='libnurbs/internals/subdivider.h' line='130' column='1'/>
+        <var-decl name='smbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='130' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='19776'>
         <!-- Flist Subdivider::tmbrkpts -->
-        <var-decl name='tmbrkpts' type-id='type-id-121' visibility='default' filepath='libnurbs/internals/subdivider.h' line='131' column='1'/>
+        <var-decl name='tmbrkpts' type-id='type-id-126' visibility='default' filepath='libnurbs/internals/subdivider.h' line='131' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='20096'>
         <!-- REAL Subdivider::stepsizes[4] -->
-        <var-decl name='stepsizes' type-id='type-id-122' visibility='default' filepath='libnurbs/internals/subdivider.h' line='132' column='1'/>
+        <var-decl name='stepsizes' type-id='type-id-127' visibility='default' filepath='libnurbs/internals/subdivider.h' line='132' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='20224'>
         <!-- int Subdivider::showDegenerate -->
@@ -6440,11 +6440,11 @@ 
         <!-- Subdivider::Subdivider(Renderhints&, Backend&) -->
         <function-decl name='Subdivider' filepath='libnurbs/internals/subdivider.h' line='57' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Subdivider*' -->
-          <parameter type-id='type-id-123' is-artificial='yes'/>
+          <parameter type-id='type-id-128' is-artificial='yes'/>
           <!-- parameter of type 'Renderhints&' -->
-          <parameter type-id='type-id-124'/>
+          <parameter type-id='type-id-129'/>
           <!-- parameter of type 'Backend&' -->
-          <parameter type-id='type-id-107'/>
+          <parameter type-id='type-id-111'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -6453,7 +6453,7 @@ 
         <!-- Subdivider::~Subdivider(int) -->
         <function-decl name='~Subdivider' filepath='libnurbs/internals/subdivider.h' line='58' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Subdivider*' -->
-          <parameter type-id='type-id-123' is-artificial='yes'/>
+          <parameter type-id='type-id-128' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -6462,7 +6462,7 @@ 
       </member-function>
     </class-decl>
     <!-- class Flist -->
-    <class-decl name='Flist' size-in-bits='320' visibility='default' filepath='libnurbs/internals/flist.h' line='42' column='1' id='type-id-121'>
+    <class-decl name='Flist' size-in-bits='320' visibility='default' filepath='libnurbs/internals/flist.h' line='42' column='1' id='type-id-126'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- REAL* Flist::pts -->
         <var-decl name='pts' type-id='type-id-16' visibility='default' filepath='libnurbs/internals/flist.h' line='44' column='1'/>
@@ -6525,9 +6525,9 @@ 
           <!-- implicit parameter of type 'ArcSdirSorter*' -->
           <parameter type-id='type-id-252' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- int -->
           <return type-id='type-id-11'/>
         </function-decl>
@@ -6554,9 +6554,9 @@ 
           <!-- implicit parameter of type 'ArcTdirSorter*' -->
           <parameter type-id='type-id-254' is-artificial='yes'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- parameter of type 'char*' -->
-          <parameter type-id='type-id-111'/>
+          <parameter type-id='type-id-115'/>
           <!-- int -->
           <return type-id='type-id-11'/>
         </function-decl>
@@ -6586,7 +6586,7 @@ 
           <!-- implicit parameter of type 'Patchlist*' -->
           <parameter type-id='type-id-258' is-artificial='yes'/>
           <!-- parameter of type 'Quilt*' -->
-          <parameter type-id='type-id-120'/>
+          <parameter type-id='type-id-125'/>
           <!-- parameter of type 'REAL*' -->
           <parameter type-id='type-id-16'/>
           <!-- parameter of type 'REAL*' -->
@@ -6623,14 +6623,14 @@ 
       </member-function>
     </class-decl>
     <!-- class Slicer -->
-    <class-decl name='Slicer' size-in-bits='8064' visibility='default' filepath='libnurbs/internals/slicer.h' line='49' column='1' id='type-id-115'>
+    <class-decl name='Slicer' size-in-bits='8064' visibility='default' filepath='libnurbs/internals/slicer.h' line='49' column='1' id='type-id-120'>
       <!-- class CoveAndTiler -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-156'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-160'/>
       <!-- class Mesher -->
-      <base-class access='public' layout-offset-in-bits='128' type-id='type-id-157'/>
+      <base-class access='public' layout-offset-in-bits='128' type-id='type-id-161'/>
       <data-member access='private' layout-offset-in-bits='5248'>
         <!-- Backend& Slicer::backend -->
-        <var-decl name='backend' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/slicer.h' line='72' column='1'/>
+        <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/slicer.h' line='72' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='5312'>
         <!-- REAL Slicer::oneOverDu -->
@@ -6660,13 +6660,13 @@ 
         <!-- Slicer::Slicer(int, void**, Backend&) -->
         <function-decl name='Slicer' filepath='libnurbs/internals/slicer.cc' line='1181' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Slicer*' -->
-          <parameter type-id='type-id-158' is-artificial='yes'/>
+          <parameter type-id='type-id-162' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
+          <parameter type-id='type-id-163' is-artificial='yes'/>
           <!-- parameter of type 'Backend&' -->
-          <parameter type-id='type-id-107'/>
+          <parameter type-id='type-id-111'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -6675,11 +6675,11 @@ 
         <!-- Slicer::~Slicer(int, void**) -->
         <function-decl name='~Slicer' filepath='libnurbs/internals/slicer.cc' line='1192' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Slicer*' -->
-          <parameter type-id='type-id-158' is-artificial='yes'/>
+          <parameter type-id='type-id-162' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
+          <parameter type-id='type-id-163' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -6689,7 +6689,7 @@ 
     <class-decl name='JumpBuffer' size-in-bits='1600' is-struct='yes' visibility='default' filepath='libnurbs/internals/mysetjmp.h' line='56' column='1' id='type-id-95'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- jmp_buf JumpBuffer::buf -->
-        <var-decl name='buf' type-id='type-id-163' visibility='default' filepath='libnurbs/internals/mysetjmp.h' line='57' column='1'/>
+        <var-decl name='buf' type-id='type-id-156' visibility='default' filepath='libnurbs/internals/mysetjmp.h' line='57' column='1'/>
       </data-member>
     </class-decl>
     <!-- Arc** -->
@@ -6703,47 +6703,47 @@ 
     <!-- ArcTdirSorter* -->
     <pointer-type-def type-id='type-id-253' size-in-bits='64' id='type-id-254'/>
     <!-- ArcTessellator* -->
-    <pointer-type-def type-id='type-id-116' size-in-bits='64' id='type-id-148'/>
+    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-148'/>
     <!-- Backend& -->
-    <qualified-type-def type-id='type-id-107' id='type-id-105'/>
+    <qualified-type-def type-id='type-id-111' id='type-id-109'/>
     <!-- Backend& -->
-    <reference-type-def kind='lvalue' type-id='type-id-72' size-in-bits='64' id='type-id-107'/>
+    <reference-type-def kind='lvalue' type-id='type-id-73' size-in-bits='64' id='type-id-111'/>
     <!-- Bin& -->
-    <reference-type-def kind='lvalue' type-id='type-id-118' size-in-bits='64' id='type-id-262'/>
+    <reference-type-def kind='lvalue' type-id='type-id-123' size-in-bits='64' id='type-id-262'/>
     <!-- Bin* -->
-    <pointer-type-def type-id='type-id-118' size-in-bits='64' id='type-id-151'/>
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-151'/>
     <!-- Curvelist& -->
     <reference-type-def kind='lvalue' type-id='type-id-246' size-in-bits='64' id='type-id-250'/>
     <!-- Flist* -->
-    <pointer-type-def type-id='type-id-121' size-in-bits='64' id='type-id-155'/>
+    <pointer-type-def type-id='type-id-126' size-in-bits='64' id='type-id-155'/>
     <!-- JumpBuffer* -->
-    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-74'/>
+    <pointer-type-def type-id='type-id-95' size-in-bits='64' id='type-id-75'/>
     <!-- Patchlist& -->
     <reference-type-def kind='lvalue' type-id='type-id-255' size-in-bits='64' id='type-id-259'/>
     <!-- Pool& -->
     <qualified-type-def type-id='type-id-150' id='type-id-146'/>
     <!-- Quilt* -->
-    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-120'/>
+    <pointer-type-def type-id='type-id-140' size-in-bits='64' id='type-id-125'/>
     <!-- Renderhints& -->
-    <qualified-type-def type-id='type-id-124' id='type-id-117'/>
+    <qualified-type-def type-id='type-id-129' id='type-id-122'/>
     <!-- Renderhints& -->
-    <reference-type-def kind='lvalue' type-id='type-id-70' size-in-bits='64' id='type-id-124'/>
+    <reference-type-def kind='lvalue' type-id='type-id-71' size-in-bits='64' id='type-id-129'/>
     <!-- Sorter* -->
-    <pointer-type-def type-id='type-id-176' size-in-bits='64' id='type-id-198'/>
+    <pointer-type-def type-id='type-id-176' size-in-bits='64' id='type-id-202'/>
     <!-- Subdivider& -->
     <qualified-type-def type-id='type-id-245' id='type-id-243'/>
     <!-- Subdivider& -->
-    <reference-type-def kind='lvalue' type-id='type-id-73' size-in-bits='64' id='type-id-245'/>
+    <reference-type-def kind='lvalue' type-id='type-id-74' size-in-bits='64' id='type-id-245'/>
     <!-- Subdivider* -->
-    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-123'/>
+    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-128'/>
     <!-- TrimVertex** -->
     <pointer-type-def type-id='type-id-141' size-in-bits='64' id='type-id-130'/>
     <!-- TrimVertexPool& -->
     <qualified-type-def type-id='type-id-149' id='type-id-147'/>
     <!-- TrimVertexPool& -->
-    <reference-type-def kind='lvalue' type-id='type-id-76' size-in-bits='64' id='type-id-149'/>
+    <reference-type-def kind='lvalue' type-id='type-id-77' size-in-bits='64' id='type-id-149'/>
     <!-- TrimVertexPool* -->
-    <pointer-type-def type-id='type-id-76' size-in-bits='64' id='type-id-131'/>
+    <pointer-type-def type-id='type-id-77' size-in-bits='64' id='type-id-131'/>
     <!-- const REAL -->
     <qualified-type-def type-id='type-id-1' const='yes' id='type-id-263'/>
     <!-- const REAL* -->
@@ -6774,7 +6774,7 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- Mapdesc* Curve::mapdesc -->
-        <var-decl name='mapdesc' type-id='type-id-103' visibility='default' filepath='libnurbs/internals/curve.h' line='53' column='1'/>
+        <var-decl name='mapdesc' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/curve.h' line='53' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='128'>
         <!-- int Curve::stride -->
@@ -6818,7 +6818,7 @@ 
           <!-- implicit parameter of type 'Curve*' -->
           <parameter type-id='type-id-247' is-artificial='yes'/>
           <!-- parameter of type 'Quilt*' -->
-          <parameter type-id='type-id-120'/>
+          <parameter type-id='type-id-125'/>
           <!-- parameter of type 'typedef REAL' -->
           <parameter type-id='type-id-1'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -6849,7 +6849,7 @@ 
     <class-decl name='Patch' size-in-bits='277696' visibility='default' filepath='libnurbs/internals/patch.h' line='62' column='1' id='type-id-266'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- Mapdesc* Patch::mapdesc -->
-        <var-decl name='mapdesc' type-id='type-id-103' visibility='default' filepath='libnurbs/internals/patch.h' line='82' column='1'/>
+        <var-decl name='mapdesc' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/patch.h' line='82' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- Patch* Patch::next -->
@@ -6893,7 +6893,7 @@ 
           <!-- implicit parameter of type 'Patch*' -->
           <parameter type-id='type-id-256' is-artificial='yes'/>
           <!-- parameter of type 'Quilt*' -->
-          <parameter type-id='type-id-120'/>
+          <parameter type-id='type-id-125'/>
           <!-- parameter of type 'REAL*' -->
           <parameter type-id='type-id-16'/>
           <!-- parameter of type 'REAL*' -->
@@ -6930,7 +6930,7 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- REAL Pspec::sidestep[2] -->
-        <var-decl name='sidestep' type-id='type-id-160' visibility='default' filepath='libnurbs/internals/patch.h' line='48' column='1'/>
+        <var-decl name='sidestep' type-id='type-id-164' visibility='default' filepath='libnurbs/internals/patch.h' line='48' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- REAL Pspec::stepsize -->
@@ -6989,11 +6989,11 @@ 
     <!-- ArcTessellator* const -->
     <qualified-type-def type-id='type-id-148' const='yes' id='type-id-277'/>
     <!-- Pool* const -->
-    <qualified-type-def type-id='type-id-113' const='yes' id='type-id-278'/>
+    <qualified-type-def type-id='type-id-117' const='yes' id='type-id-278'/>
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/backend.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- REAL[3][4] -->
-    <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='384' id='type-id-127'>
+    <array-type-def dimensions='2' type-id='type-id-1' size-in-bits='384' id='type-id-105'>
       <!-- <anonymous range>[3] -->
       <subrange length='3' type-id='type-id-3' id='type-id-68'/>
       <!-- <anonymous range>[4] -->
@@ -7003,7 +7003,7 @@ 
     <class-decl name='GridVertex' size-in-bits='128' is-struct='yes' visibility='default' filepath='libnurbs/internals/gridvertex.h' line='39' column='1' id='type-id-219'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- long int GridVertex::gparam[2] -->
-        <var-decl name='gparam' type-id='type-id-161' visibility='default' filepath='libnurbs/internals/gridvertex.h' line='40' column='1'/>
+        <var-decl name='gparam' type-id='type-id-165' visibility='default' filepath='libnurbs/internals/gridvertex.h' line='40' column='1'/>
       </data-member>
       <member-function access='public' constructor='yes'>
         <!-- GridVertex::GridVertex() -->
@@ -7031,7 +7031,7 @@ 
     <!-- class GridTrimVertex -->
     <class-decl name='GridTrimVertex' size-in-bits='384' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='45' column='1' id='type-id-209'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- TrimVertex GridTrimVertex::dummyt -->
         <var-decl name='dummyt' type-id='type-id-172' visibility='default' filepath='libnurbs/internals/gridtrimvertex.h' line='47' column='1'/>
@@ -7059,17 +7059,17 @@ 
       </member-function>
     </class-decl>
     <!-- Backend* -->
-    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-128'/>
+    <pointer-type-def type-id='type-id-73' size-in-bits='64' id='type-id-106'/>
     <!-- Backend* const -->
-    <qualified-type-def type-id='type-id-128' const='yes' id='type-id-279'/>
+    <qualified-type-def type-id='type-id-106' const='yes' id='type-id-279'/>
     <!-- BasicCurveEvaluator& -->
-    <qualified-type-def type-id='type-id-87' id='type-id-125'/>
+    <qualified-type-def type-id='type-id-88' id='type-id-103'/>
     <!-- BasicCurveEvaluator& -->
-    <reference-type-def kind='lvalue' type-id='type-id-13' size-in-bits='64' id='type-id-87'/>
+    <reference-type-def kind='lvalue' type-id='type-id-13' size-in-bits='64' id='type-id-88'/>
     <!-- BasicSurfaceEvaluator& -->
-    <qualified-type-def type-id='type-id-88' id='type-id-126'/>
+    <qualified-type-def type-id='type-id-89' id='type-id-104'/>
     <!-- BasicSurfaceEvaluator& -->
-    <reference-type-def kind='lvalue' type-id='type-id-48' size-in-bits='64' id='type-id-88'/>
+    <reference-type-def kind='lvalue' type-id='type-id-48' size-in-bits='64' id='type-id-89'/>
     <!-- GridTrimVertex* -->
     <pointer-type-def type-id='type-id-209' size-in-bits='64' id='type-id-188'/>
     <!-- GridTrimVertex* const -->
@@ -7085,14 +7085,14 @@ 
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/ccw.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- Subdivider* const -->
-    <qualified-type-def type-id='type-id-123' const='yes' id='type-id-282'/>
+    <qualified-type-def type-id='type-id-128' const='yes' id='type-id-282'/>
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/coveandtiler.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- class Jarcloc -->
-    <class-decl name='Jarcloc' size-in-bits='192' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='41' column='1' id='type-id-211'>
+    <class-decl name='Jarcloc' size-in-bits='192' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='41' column='1' id='type-id-213'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- Arc_ptr Jarcloc::arc -->
-        <var-decl name='arc' type-id='type-id-119' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='43' column='1'/>
+        <var-decl name='arc' type-id='type-id-124' visibility='default' filepath='libnurbs/internals/jarcloc.h' line='43' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- TrimVertex* Jarcloc::p -->
@@ -7104,7 +7104,7 @@ 
       </data-member>
     </class-decl>
     <!-- class Trimline -->
-    <class-decl name='Trimline' size-in-bits='832' visibility='default' filepath='libnurbs/internals/trimline.h' line='46' column='1' id='type-id-196'>
+    <class-decl name='Trimline' size-in-bits='832' visibility='default' filepath='libnurbs/internals/trimline.h' line='46' column='1' id='type-id-200'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- TrimVertex** Trimline::pts -->
         <var-decl name='pts' type-id='type-id-130' visibility='default' filepath='libnurbs/internals/trimline.h' line='48' column='1'/>
@@ -7123,7 +7123,7 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='256'>
         <!-- Jarcloc Trimline::jarcl -->
-        <var-decl name='jarcl' type-id='type-id-211' visibility='default' filepath='libnurbs/internals/trimline.h' line='52' column='1'/>
+        <var-decl name='jarcl' type-id='type-id-213' visibility='default' filepath='libnurbs/internals/trimline.h' line='52' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='448'>
         <!-- TrimVertex Trimline::t -->
@@ -7145,7 +7145,7 @@ 
         <!-- Trimline::Trimline() -->
         <function-decl name='Trimline' filepath='libnurbs/internals/trimline.h' line='64' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Trimline*' -->
-          <parameter type-id='type-id-194' is-artificial='yes'/>
+          <parameter type-id='type-id-198' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -7154,7 +7154,7 @@ 
         <!-- Trimline::~Trimline(int) -->
         <function-decl name='~Trimline' filepath='libnurbs/internals/trimline.h' line='65' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Trimline*' -->
-          <parameter type-id='type-id-194' is-artificial='yes'/>
+          <parameter type-id='type-id-198' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -7166,23 +7166,23 @@ 
     <class-decl name='TrimRegion' size-in-bits='2560' visibility='default' filepath='libnurbs/internals/trimregion.h' line='46' column='1' id='type-id-173'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- Trimline TrimRegion::left -->
-        <var-decl name='left' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/trimregion.h' line='49' column='1'/>
+        <var-decl name='left' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/trimregion.h' line='49' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='832'>
         <!-- Trimline TrimRegion::right -->
-        <var-decl name='right' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/trimregion.h' line='50' column='1'/>
+        <var-decl name='right' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/trimregion.h' line='50' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='1664'>
         <!-- Gridline TrimRegion::top -->
-        <var-decl name='top' type-id='type-id-199' visibility='default' filepath='libnurbs/internals/trimregion.h' line='51' column='1'/>
+        <var-decl name='top' type-id='type-id-203' visibility='default' filepath='libnurbs/internals/trimregion.h' line='51' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='1984'>
         <!-- Gridline TrimRegion::bot -->
-        <var-decl name='bot' type-id='type-id-199' visibility='default' filepath='libnurbs/internals/trimregion.h' line='52' column='1'/>
+        <var-decl name='bot' type-id='type-id-203' visibility='default' filepath='libnurbs/internals/trimregion.h' line='52' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='2304'>
         <!-- Uarray TrimRegion::uarray -->
-        <var-decl name='uarray' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/trimregion.h' line='53' column='1'/>
+        <var-decl name='uarray' type-id='type-id-204' visibility='default' filepath='libnurbs/internals/trimregion.h' line='53' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='2496'>
         <!-- REAL TrimRegion::oneOverDu -->
@@ -7192,14 +7192,14 @@ 
         <!-- TrimRegion::TrimRegion() -->
         <function-decl name='TrimRegion' filepath='libnurbs/internals/trimregion.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'TrimRegion*' -->
-          <parameter type-id='type-id-201' is-artificial='yes'/>
+          <parameter type-id='type-id-205' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
       </member-function>
     </class-decl>
     <!-- class Uarray -->
-    <class-decl name='Uarray' size-in-bits='192' visibility='default' filepath='libnurbs/internals/uarray.h' line='44' column='1' id='type-id-200'>
+    <class-decl name='Uarray' size-in-bits='192' visibility='default' filepath='libnurbs/internals/uarray.h' line='44' column='1' id='type-id-204'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- long int Uarray::size -->
         <var-decl name='size' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/uarray.h' line='46' column='1'/>
@@ -7216,7 +7216,7 @@ 
         <!-- Uarray::Uarray() -->
         <function-decl name='Uarray' filepath='libnurbs/internals/uarray.h' line='49' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Uarray*' -->
-          <parameter type-id='type-id-212' is-artificial='yes'/>
+          <parameter type-id='type-id-214' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -7225,7 +7225,7 @@ 
         <!-- Uarray::~Uarray(int) -->
         <function-decl name='~Uarray' filepath='libnurbs/internals/uarray.h' line='50' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Uarray*' -->
-          <parameter type-id='type-id-212' is-artificial='yes'/>
+          <parameter type-id='type-id-214' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -7234,7 +7234,7 @@ 
       </member-function>
     </class-decl>
     <!-- struct Gridline -->
-    <class-decl name='Gridline' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/gridline.h' line='39' column='1' id='type-id-199'>
+    <class-decl name='Gridline' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/gridline.h' line='39' column='1' id='type-id-203'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- long int Gridline::v -->
         <var-decl name='v' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/gridline.h' line='40' column='1'/>
@@ -7257,12 +7257,12 @@ 
       </data-member>
     </class-decl>
     <!-- class CoveAndTiler -->
-    <class-decl name='CoveAndTiler' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/coveandtiler.h' line='46' column='1' id='type-id-156'>
+    <class-decl name='CoveAndTiler' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/coveandtiler.h' line='46' column='1' id='type-id-160'>
       <!-- class TrimRegion -->
       <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-173'/>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- Backend& CoveAndTiler::backend -->
-        <var-decl name='backend' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/coveandtiler.h' line='52' column='1'/>
+        <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/coveandtiler.h' line='52' column='1'/>
       </data-member>
       <data-member access='private' static='yes'>
         <!-- static const int CoveAndTiler::MAXSTRIPSIZE -->
@@ -7276,9 +7276,9 @@ 
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
+          <parameter type-id='type-id-163' is-artificial='yes'/>
           <!-- parameter of type 'Backend&' -->
-          <parameter type-id='type-id-107'/>
+          <parameter type-id='type-id-111'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -7291,14 +7291,14 @@ 
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
+          <parameter type-id='type-id-163' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
       </member-function>
     </class-decl>
     <!-- CoveAndTiler* -->
-    <pointer-type-def type-id='type-id-156' size-in-bits='64' id='type-id-175'/>
+    <pointer-type-def type-id='type-id-160' size-in-bits='64' id='type-id-175'/>
     <!-- CoveAndTiler* const -->
     <qualified-type-def type-id='type-id-175' const='yes' id='type-id-283'/>
     <!-- GridTrimVertex& -->
@@ -7312,15 +7312,15 @@ 
     <!-- GridVertex* const -->
     <qualified-type-def type-id='type-id-220' const='yes' id='type-id-288'/>
     <!-- Jarcloc* -->
-    <pointer-type-def type-id='type-id-211' size-in-bits='64' id='type-id-289'/>
+    <pointer-type-def type-id='type-id-213' size-in-bits='64' id='type-id-289'/>
     <!-- TrimRegion* -->
-    <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-201'/>
+    <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-205'/>
     <!-- Trimline* -->
-    <pointer-type-def type-id='type-id-196' size-in-bits='64' id='type-id-194'/>
+    <pointer-type-def type-id='type-id-200' size-in-bits='64' id='type-id-198'/>
     <!-- Trimline* const -->
-    <qualified-type-def type-id='type-id-194' const='yes' id='type-id-290'/>
+    <qualified-type-def type-id='type-id-198' const='yes' id='type-id-290'/>
     <!-- Uarray* -->
-    <pointer-type-def type-id='type-id-200' size-in-bits='64' id='type-id-212'/>
+    <pointer-type-def type-id='type-id-204' size-in-bits='64' id='type-id-214'/>
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/curve.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- Quiltspec[2] -->
@@ -7334,7 +7334,7 @@ 
       <subrange length='120' type-id='type-id-3' id='type-id-275'/>
     </array-type-def>
     <!-- REAL[5] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='160' id='type-id-183'>
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='160' id='type-id-178'>
       <!-- <anonymous range>[5] -->
       <subrange length='5' type-id='type-id-3' id='type-id-190'/>
     </array-type-def>
@@ -7351,7 +7351,7 @@ 
       <subrange length='4' type-id='type-id-3' id='type-id-65'/>
     </array-type-def>
     <!-- int[2] -->
-    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='64' id='type-id-213'>
+    <array-type-def dimensions='1' type-id='type-id-11' size-in-bits='64' id='type-id-211'>
       <!-- <anonymous range>[2] -->
       <subrange length='2' type-id='type-id-3' id='type-id-64'/>
     </array-type-def>
@@ -7363,7 +7363,7 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- Mapdesc* Curve::mapdesc -->
-        <var-decl name='mapdesc' type-id='type-id-103' visibility='default' filepath='libnurbs/internals/curve.h' line='53' column='1'/>
+        <var-decl name='mapdesc' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/curve.h' line='53' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='128'>
         <!-- int Curve::stride -->
@@ -7407,7 +7407,7 @@ 
           <!-- implicit parameter of type 'Curve*' -->
           <parameter type-id='type-id-247' is-artificial='yes'/>
           <!-- parameter of type 'Quilt*' -->
-          <parameter type-id='type-id-120'/>
+          <parameter type-id='type-id-125'/>
           <!-- parameter of type 'typedef REAL' -->
           <parameter type-id='type-id-1'/>
           <!-- parameter of type 'typedef REAL' -->
@@ -7435,11 +7435,11 @@ 
       </member-function>
     </class-decl>
     <!-- typedef REAL[5][5] Maxmatrix -->
-    <typedef-decl name='Maxmatrix' type-id='type-id-206' filepath='libnurbs/internals/mapdesc.h' line='45' column='1' id='type-id-184'/>
+    <typedef-decl name='Maxmatrix' type-id='type-id-206' filepath='libnurbs/internals/mapdesc.h' line='45' column='1' id='type-id-179'/>
     <!-- struct Mapdesc -->
     <class-decl name='Mapdesc' size-in-bits='3392' is-struct='yes' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='49' column='1' id='type-id-136'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- REAL Mapdesc::pixel_tolerance -->
         <var-decl name='pixel_tolerance' type-id='type-id-1' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='104' column='1'/>
@@ -7474,7 +7474,7 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- REAL Mapdesc::bboxsize[5] -->
-        <var-decl name='bboxsize' type-id='type-id-183' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='112' column='1'/>
+        <var-decl name='bboxsize' type-id='type-id-178' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='112' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='448'>
         <!-- long int Mapdesc::type -->
@@ -7502,15 +7502,15 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='672'>
         <!-- Maxmatrix Mapdesc::bmat -->
-        <var-decl name='bmat' type-id='type-id-184' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='121' column='1'/>
+        <var-decl name='bmat' type-id='type-id-179' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='121' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='1472'>
         <!-- Maxmatrix Mapdesc::cmat -->
-        <var-decl name='cmat' type-id='type-id-184' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='122' column='1'/>
+        <var-decl name='cmat' type-id='type-id-179' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='122' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='2272'>
         <!-- Maxmatrix Mapdesc::smat -->
-        <var-decl name='smat' type-id='type-id-184' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='123' column='1'/>
+        <var-decl name='smat' type-id='type-id-179' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='123' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='3072'>
         <!-- REAL Mapdesc::s_steps -->
@@ -7534,17 +7534,17 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='3264'>
         <!-- Mapdesc* Mapdesc::next -->
-        <var-decl name='next' type-id='type-id-103' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='129' column='1'/>
+        <var-decl name='next' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='129' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='3328'>
         <!-- Backend& Mapdesc::backend -->
-        <var-decl name='backend' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='130' column='1'/>
+        <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/mapdesc.h' line='130' column='1'/>
       </data-member>
       <member-function access='public' constructor='yes'>
         <!-- Mapdesc::Mapdesc(long int, int, int, Backend&) -->
         <function-decl name='Mapdesc' filepath='libnurbs/internals/mapdesc.h' line='53' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Mapdesc*' -->
-          <parameter type-id='type-id-103' is-artificial='yes'/>
+          <parameter type-id='type-id-107' is-artificial='yes'/>
           <!-- parameter of type 'long int' -->
           <parameter type-id='type-id-15'/>
           <!-- parameter of type 'int' -->
@@ -7552,7 +7552,7 @@ 
           <!-- parameter of type 'int' -->
           <parameter type-id='type-id-11'/>
           <!-- parameter of type 'Backend&' -->
-          <parameter type-id='type-id-107'/>
+          <parameter type-id='type-id-111'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -7574,7 +7574,7 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- Knot* Knotvector::knotlist -->
-        <var-decl name='knotlist' type-id='type-id-214' visibility='default' filepath='libnurbs/internals/knotvector.h' line='51' column='1'/>
+        <var-decl name='knotlist' type-id='type-id-212' visibility='default' filepath='libnurbs/internals/knotvector.h' line='51' column='1'/>
       </data-member>
       <member-function access='public' constructor='yes'>
         <!-- Knotvector::Knotvector() -->
@@ -7621,7 +7621,7 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- int Quiltspec::bdry[2] -->
-        <var-decl name='bdry' type-id='type-id-213' visibility='default' filepath='libnurbs/internals/quilt.h' line='57' column='1'/>
+        <var-decl name='bdry' type-id='type-id-211' visibility='default' filepath='libnurbs/internals/quilt.h' line='57' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='224'>
         <!-- REAL Quiltspec::step_size -->
@@ -7629,7 +7629,7 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- Knot* Quiltspec::breakpoints -->
-        <var-decl name='breakpoints' type-id='type-id-214' visibility='default' filepath='libnurbs/internals/quilt.h' line='59' column='1'/>
+        <var-decl name='breakpoints' type-id='type-id-212' visibility='default' filepath='libnurbs/internals/quilt.h' line='59' column='1'/>
       </data-member>
     </class-decl>
     <!-- typedef REAL Knot -->
@@ -7643,19 +7643,19 @@ 
     <!-- Curve* const -->
     <qualified-type-def type-id='type-id-247' const='yes' id='type-id-294'/>
     <!-- Flist& -->
-    <reference-type-def kind='lvalue' type-id='type-id-121' size-in-bits='64' id='type-id-295'/>
+    <reference-type-def kind='lvalue' type-id='type-id-126' size-in-bits='64' id='type-id-295'/>
     <!-- Knot* -->
-    <pointer-type-def type-id='type-id-218' size-in-bits='64' id='type-id-214'/>
+    <pointer-type-def type-id='type-id-218' size-in-bits='64' id='type-id-212'/>
     <!-- Knotvector& -->
     <reference-type-def kind='lvalue' type-id='type-id-292' size-in-bits='64' id='type-id-296'/>
     <!-- Mapdesc* -->
-    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-103'/>
+    <pointer-type-def type-id='type-id-136' size-in-bits='64' id='type-id-107'/>
     <!-- Mapdesc* const -->
-    <qualified-type-def type-id='type-id-103' const='yes' id='type-id-297'/>
+    <qualified-type-def type-id='type-id-107' const='yes' id='type-id-297'/>
     <!-- Quiltspec* -->
     <pointer-type-def type-id='type-id-189' size-in-bits='64' id='type-id-207'/>
     <!-- REAL[5]* -->
-    <pointer-type-def type-id='type-id-183' size-in-bits='64' id='type-id-298'/>
+    <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-298'/>
     <!-- float[4]* -->
     <pointer-type-def type-id='type-id-291' size-in-bits='64' id='type-id-299'/>
     <!-- Knotvector* -->
@@ -7680,10 +7680,10 @@ 
     <!-- struct Dlnode -->
     <class-decl name='Dlnode' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/displaylist.h' line='48' column='1' id='type-id-169'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- PFVS Dlnode::work -->
-        <var-decl name='work' type-id='type-id-205' visibility='default' filepath='libnurbs/internals/displaylist.h' line='50' column='1'/>
+        <var-decl name='work' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/displaylist.h' line='50' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- void* Dlnode::arg -->
@@ -7691,7 +7691,7 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- PFVS Dlnode::cleanup -->
-        <var-decl name='cleanup' type-id='type-id-205' visibility='default' filepath='libnurbs/internals/displaylist.h' line='52' column='1'/>
+        <var-decl name='cleanup' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/displaylist.h' line='52' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- Dlnode* Dlnode::next -->
@@ -7703,20 +7703,20 @@ 
           <!-- implicit parameter of type 'Dlnode*' -->
           <parameter type-id='type-id-152' is-artificial='yes'/>
           <!-- parameter of type 'typedef PFVS' -->
-          <parameter type-id='type-id-205'/>
+          <parameter type-id='type-id-196'/>
           <!-- parameter of type 'void*' -->
           <parameter type-id='type-id-25'/>
           <!-- parameter of type 'typedef PFVS' -->
-          <parameter type-id='type-id-205'/>
+          <parameter type-id='type-id-196'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
       </member-function>
     </class-decl>
     <!-- typedef __anonymous_struct__ PFVS -->
-    <typedef-decl name='PFVS' type-id='type-id-217' filepath='libnurbs/internals/displaylist.h' line='46' column='1' id='type-id-205'/>
+    <typedef-decl name='PFVS' type-id='type-id-217' filepath='libnurbs/internals/displaylist.h' line='46' column='1' id='type-id-196'/>
     <!-- struct {void (NurbsTessellator*, void*)* __pfn; long int __delta;} -->
-    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-205' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1' id='type-id-217'>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-196' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1' id='type-id-217'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- void (NurbsTessellator*, void*)* __pfn -->
         <var-decl name='__pfn' type-id='type-id-221' visibility='default' filepath='libnurbs/internals/displaylist.h' line='46' column='1'/>
@@ -7734,7 +7734,7 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- Pool DisplayList::dlnodePool -->
-        <var-decl name='dlnodePool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/displaylist.h' line='74' column='1'/>
+        <var-decl name='dlnodePool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/displaylist.h' line='74' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='2560'>
         <!-- Dlnode** DisplayList::lastNode -->
@@ -7742,15 +7742,15 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='2624'>
         <!-- NurbsTessellator* DisplayList::nt -->
-        <var-decl name='nt' type-id='type-id-86' visibility='default' filepath='libnurbs/internals/displaylist.h' line='76' column='1'/>
+        <var-decl name='nt' type-id='type-id-87' visibility='default' filepath='libnurbs/internals/displaylist.h' line='76' column='1'/>
       </data-member>
       <member-function access='private' constructor='yes'>
         <!-- DisplayList::DisplayList(NurbsTessellator*) -->
         <function-decl name='DisplayList' filepath='libnurbs/internals/displaylist.h' line='67' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'DisplayList*' -->
-          <parameter type-id='type-id-85' is-artificial='yes'/>
+          <parameter type-id='type-id-86' is-artificial='yes'/>
           <!-- parameter of type 'NurbsTessellator*' -->
-          <parameter type-id='type-id-86'/>
+          <parameter type-id='type-id-87'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -7759,7 +7759,7 @@ 
         <!-- DisplayList::~DisplayList(int) -->
         <function-decl name='~DisplayList' filepath='libnurbs/internals/displaylist.h' line='68' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'DisplayList*' -->
-          <parameter type-id='type-id-85' is-artificial='yes'/>
+          <parameter type-id='type-id-86' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- void -->
@@ -7768,21 +7768,21 @@ 
       </member-function>
     </class-decl>
     <!-- DisplayList* -->
-    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-85'/>
+    <pointer-type-def type-id='type-id-94' size-in-bits='64' id='type-id-86'/>
     <!-- DisplayList* const -->
-    <qualified-type-def type-id='type-id-85' const='yes' id='type-id-302'/>
+    <qualified-type-def type-id='type-id-86' const='yes' id='type-id-302'/>
     <!-- Dlnode* -->
     <pointer-type-def type-id='type-id-169' size-in-bits='64' id='type-id-152'/>
     <!-- Dlnode** -->
     <pointer-type-def type-id='type-id-152' size-in-bits='64' id='type-id-153'/>
     <!-- NurbsTessellator* -->
-    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-86'/>
+    <pointer-type-def type-id='type-id-43' size-in-bits='64' id='type-id-87'/>
     <!-- void (NurbsTessellator*, void*)* -->
     <pointer-type-def type-id='type-id-226' size-in-bits='64' id='type-id-221'/>
     <!-- void (NurbsTessellator*, void*) -->
     <function-type size-in-bits='64' id='type-id-226'>
       <!-- implicit parameter of type 'NurbsTessellator*' -->
-      <parameter type-id='type-id-86' is-artificial='yes'/>
+      <parameter type-id='type-id-87' is-artificial='yes'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-25'/>
       <!-- void -->
@@ -7801,23 +7801,23 @@ 
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/hull.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- class Hull -->
-    <class-decl name='Hull' size-in-bits='4800' visibility='default' filepath='libnurbs/internals/hull.h' line='47' column='1' id='type-id-178'>
+    <class-decl name='Hull' size-in-bits='4800' visibility='default' filepath='libnurbs/internals/hull.h' line='47' column='1' id='type-id-180'>
       <!-- class TrimRegion -->
       <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-173'/>
       <member-type access='private'>
         <!-- struct Hull::Side -->
-        <class-decl name='Side' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/hull.h' line='55' column='1' id='type-id-193'>
+        <class-decl name='Side' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/hull.h' line='55' column='1' id='type-id-197'>
           <data-member access='public' layout-offset-in-bits='0'>
             <!-- Trimline* Hull::Side::left -->
-            <var-decl name='left' type-id='type-id-194' visibility='default' filepath='libnurbs/internals/hull.h' line='56' column='1'/>
+            <var-decl name='left' type-id='type-id-198' visibility='default' filepath='libnurbs/internals/hull.h' line='56' column='1'/>
           </data-member>
           <data-member access='public' layout-offset-in-bits='64'>
             <!-- Gridline* Hull::Side::line -->
-            <var-decl name='line' type-id='type-id-195' visibility='default' filepath='libnurbs/internals/hull.h' line='57' column='1'/>
+            <var-decl name='line' type-id='type-id-199' visibility='default' filepath='libnurbs/internals/hull.h' line='57' column='1'/>
           </data-member>
           <data-member access='public' layout-offset-in-bits='128'>
             <!-- Trimline* Hull::Side::right -->
-            <var-decl name='right' type-id='type-id-194' visibility='default' filepath='libnurbs/internals/hull.h' line='58' column='1'/>
+            <var-decl name='right' type-id='type-id-198' visibility='default' filepath='libnurbs/internals/hull.h' line='58' column='1'/>
           </data-member>
           <data-member access='public' layout-offset-in-bits='192'>
             <!-- long int Hull::Side::index -->
@@ -7827,29 +7827,29 @@ 
       </member-type>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- Hull::Side Hull::lower -->
-        <var-decl name='lower' type-id='type-id-193' visibility='default' filepath='libnurbs/internals/hull.h' line='62' column='1'/>
+        <var-decl name='lower' type-id='type-id-197' visibility='default' filepath='libnurbs/internals/hull.h' line='62' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='320'>
         <!-- Hull::Side Hull::upper -->
-        <var-decl name='upper' type-id='type-id-193' visibility='default' filepath='libnurbs/internals/hull.h' line='63' column='1'/>
+        <var-decl name='upper' type-id='type-id-197' visibility='default' filepath='libnurbs/internals/hull.h' line='63' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='576'>
         <!-- Trimline Hull::fakeleft -->
-        <var-decl name='fakeleft' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/hull.h' line='64' column='1'/>
+        <var-decl name='fakeleft' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/hull.h' line='64' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='1408'>
         <!-- Trimline Hull::fakeright -->
-        <var-decl name='fakeright' type-id='type-id-196' visibility='default' filepath='libnurbs/internals/hull.h' line='65' column='1'/>
+        <var-decl name='fakeright' type-id='type-id-200' visibility='default' filepath='libnurbs/internals/hull.h' line='65' column='1'/>
       </data-member>
       <member-function access='private' constructor='yes'>
         <!-- Hull::Hull(int, void**) -->
         <function-decl name='Hull' filepath='libnurbs/internals/hull.cc' line='51' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Hull*' -->
-          <parameter type-id='type-id-197' is-artificial='yes'/>
+          <parameter type-id='type-id-201' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
+          <parameter type-id='type-id-163' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -7858,22 +7858,22 @@ 
         <!-- Hull::~Hull(int, void**) -->
         <function-decl name='~Hull' filepath='libnurbs/internals/hull.cc' line='54' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Hull*' -->
-          <parameter type-id='type-id-197' is-artificial='yes'/>
+          <parameter type-id='type-id-201' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
+          <parameter type-id='type-id-163' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
       </member-function>
     </class-decl>
     <!-- Gridline* -->
-    <pointer-type-def type-id='type-id-199' size-in-bits='64' id='type-id-195'/>
+    <pointer-type-def type-id='type-id-203' size-in-bits='64' id='type-id-199'/>
     <!-- Hull* -->
-    <pointer-type-def type-id='type-id-178' size-in-bits='64' id='type-id-197'/>
+    <pointer-type-def type-id='type-id-180' size-in-bits='64' id='type-id-201'/>
     <!-- Hull* const -->
-    <qualified-type-def type-id='type-id-197' const='yes' id='type-id-305'/>
+    <qualified-type-def type-id='type-id-201' const='yes' id='type-id-305'/>
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/intersect.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- Bin& -->
@@ -7891,67 +7891,67 @@ 
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/maplist.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- class Maplist -->
-    <class-decl name='Maplist' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/maplist.h' line='46' column='1' id='type-id-71'>
+    <class-decl name='Maplist' size-in-bits='2688' visibility='default' filepath='libnurbs/internals/maplist.h' line='46' column='1' id='type-id-72'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- Pool Maplist::mapdescPool -->
-        <var-decl name='mapdescPool' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/maplist.h' line='58' column='1'/>
+        <var-decl name='mapdescPool' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/maplist.h' line='58' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='2496'>
         <!-- Mapdesc* Maplist::maps -->
-        <var-decl name='maps' type-id='type-id-103' visibility='default' filepath='libnurbs/internals/maplist.h' line='59' column='1'/>
+        <var-decl name='maps' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/maplist.h' line='59' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='2560'>
         <!-- Mapdesc** Maplist::lastmap -->
-        <var-decl name='lastmap' type-id='type-id-104' visibility='default' filepath='libnurbs/internals/maplist.h' line='60' column='1'/>
+        <var-decl name='lastmap' type-id='type-id-108' visibility='default' filepath='libnurbs/internals/maplist.h' line='60' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='2624'>
         <!-- Backend& Maplist::backend -->
-        <var-decl name='backend' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/maplist.h' line='61' column='1'/>
+        <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/maplist.h' line='61' column='1'/>
       </data-member>
       <member-function access='private' constructor='yes'>
         <!-- Maplist::Maplist(Backend&) -->
         <function-decl name='Maplist' filepath='libnurbs/internals/maplist.h' line='48' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Maplist*' -->
-          <parameter type-id='type-id-106' is-artificial='yes'/>
+          <parameter type-id='type-id-110' is-artificial='yes'/>
           <!-- parameter of type 'Backend&' -->
-          <parameter type-id='type-id-107'/>
+          <parameter type-id='type-id-111'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
       </member-function>
     </class-decl>
     <!-- Mapdesc** -->
-    <pointer-type-def type-id='type-id-103' size-in-bits='64' id='type-id-104'/>
+    <pointer-type-def type-id='type-id-107' size-in-bits='64' id='type-id-108'/>
     <!-- Maplist* -->
-    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-106'/>
+    <pointer-type-def type-id='type-id-72' size-in-bits='64' id='type-id-110'/>
     <!-- Maplist* const -->
-    <qualified-type-def type-id='type-id-106' const='yes' id='type-id-308'/>
+    <qualified-type-def type-id='type-id-110' const='yes' id='type-id-308'/>
     <!-- PooledObj* const -->
     <qualified-type-def type-id='type-id-241' const='yes' id='type-id-309'/>
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/mesher.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- GridTrimVertex*[2] -->
-    <array-type-def dimensions='1' type-id='type-id-188' size-in-bits='128' id='type-id-181'>
+    <array-type-def dimensions='1' type-id='type-id-188' size-in-bits='128' id='type-id-183'>
       <!-- <anonymous range>[2] -->
       <subrange length='2' type-id='type-id-3' id='type-id-64'/>
     </array-type-def>
     <!-- class Mesher -->
-    <class-decl name='Mesher' size-in-bits='7680' visibility='default' filepath='libnurbs/internals/mesher.h' line='47' column='1' id='type-id-157'>
+    <class-decl name='Mesher' size-in-bits='7680' visibility='default' filepath='libnurbs/internals/mesher.h' line='47' column='1' id='type-id-161'>
       <!-- class TrimRegion -->
       <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-173'/>
       <!-- class Hull -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-178'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-180'/>
       <data-member access='private' static='yes'>
         <!-- static const float Mesher::ZERO -->
-        <var-decl name='ZERO' type-id='type-id-179' mangled-name='_ZN6Mesher4ZEROE' visibility='default' filepath='libnurbs/internals/mesher.cc' line='53' column='1'/>
+        <var-decl name='ZERO' type-id='type-id-181' mangled-name='_ZN6Mesher4ZEROE' visibility='default' filepath='libnurbs/internals/mesher.cc' line='53' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='2240'>
         <!-- Backend& Mesher::backend -->
-        <var-decl name='backend' type-id='type-id-105' visibility='default' filepath='libnurbs/internals/mesher.h' line='56' column='1'/>
+        <var-decl name='backend' type-id='type-id-109' visibility='default' filepath='libnurbs/internals/mesher.h' line='56' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='2304'>
         <!-- Pool Mesher::p -->
-        <var-decl name='p' type-id='type-id-75' visibility='default' filepath='libnurbs/internals/mesher.h' line='58' column='1'/>
+        <var-decl name='p' type-id='type-id-76' visibility='default' filepath='libnurbs/internals/mesher.h' line='58' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='4800'>
         <!-- unsigned int Mesher::stacksize -->
@@ -7959,11 +7959,11 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='4864'>
         <!-- GridTrimVertex** Mesher::vdata -->
-        <var-decl name='vdata' type-id='type-id-180' visibility='default' filepath='libnurbs/internals/mesher.h' line='60' column='1'/>
+        <var-decl name='vdata' type-id='type-id-182' visibility='default' filepath='libnurbs/internals/mesher.h' line='60' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='4928'>
         <!-- GridTrimVertex* Mesher::last[2] -->
-        <var-decl name='last' type-id='type-id-181' visibility='default' filepath='libnurbs/internals/mesher.h' line='61' column='1'/>
+        <var-decl name='last' type-id='type-id-183' visibility='default' filepath='libnurbs/internals/mesher.h' line='61' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='5056'>
         <!-- int Mesher::itop -->
@@ -7977,13 +7977,13 @@ 
         <!-- Mesher::Mesher(int, void**, Backend&) -->
         <function-decl name='Mesher' filepath='libnurbs/internals/mesher.cc' line='55' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Mesher*' -->
-          <parameter type-id='type-id-182' is-artificial='yes'/>
+          <parameter type-id='type-id-184' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
+          <parameter type-id='type-id-163' is-artificial='yes'/>
           <!-- parameter of type 'Backend&' -->
-          <parameter type-id='type-id-107'/>
+          <parameter type-id='type-id-111'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -7992,24 +7992,24 @@ 
         <!-- Mesher::~Mesher(int, void**) -->
         <function-decl name='~Mesher' filepath='libnurbs/internals/mesher.cc' line='67' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'Mesher*' -->
-          <parameter type-id='type-id-182' is-artificial='yes'/>
+          <parameter type-id='type-id-184' is-artificial='yes'/>
           <!-- artificial parameter of type 'int' -->
           <parameter type-id='type-id-11' is-artificial='yes'/>
           <!-- artificial parameter of type 'void**' -->
-          <parameter type-id='type-id-159' is-artificial='yes'/>
+          <parameter type-id='type-id-163' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
       </member-function>
     </class-decl>
     <!-- GridTrimVertex** -->
-    <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-180'/>
+    <pointer-type-def type-id='type-id-188' size-in-bits='64' id='type-id-182'/>
     <!-- Mesher* -->
-    <pointer-type-def type-id='type-id-157' size-in-bits='64' id='type-id-182'/>
+    <pointer-type-def type-id='type-id-161' size-in-bits='64' id='type-id-184'/>
     <!-- Mesher* const -->
-    <qualified-type-def type-id='type-id-182' const='yes' id='type-id-310'/>
+    <qualified-type-def type-id='type-id-184' const='yes' id='type-id-310'/>
     <!-- const float -->
-    <qualified-type-def type-id='type-id-28' const='yes' id='type-id-179'/>
+    <qualified-type-def type-id='type-id-28' const='yes' id='type-id-181'/>
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/monoTriangulationBackend.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- Real[2] -->
@@ -8202,7 +8202,7 @@ 
     <!-- struct O_pwlcurve -->
     <class-decl name='O_pwlcurve' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='83' column='1' id='type-id-139'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- TrimVertex* O_pwlcurve::pts -->
         <var-decl name='pts' type-id='type-id-141' visibility='default' filepath='libnurbs/internals/reader.h' line='85' column='1'/>
@@ -8225,7 +8225,7 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- O_curve* O_pwlcurve::owner -->
-        <var-decl name='owner' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='90' column='1'/>
+        <var-decl name='owner' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='90' column='1'/>
       </data-member>
       <member-function access='public' constructor='yes'>
         <!-- O_pwlcurve::O_pwlcurve(long int, long int, float*, long int, TrimVertex*) -->
@@ -8250,7 +8250,7 @@ 
     <!-- struct Property -->
     <class-decl name='Property' size-in-bits='192' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='120' column='1' id='type-id-328'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- long int Property::type -->
         <var-decl name='type' type-id='type-id-15' visibility='default' filepath='libnurbs/internals/reader.h' line='121' column='1'/>
@@ -8299,10 +8299,10 @@ 
     <!-- struct O_curve -->
     <class-decl name='O_curve' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='55' column='1' id='type-id-96'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <member-type access='public'>
         <!-- union {O_nurbscurve* o_nurbscurve; O_pwlcurve* o_pwlcurve;} -->
-        <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='56' column='1' id='type-id-165'>
+        <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='56' column='1' id='type-id-158'>
           <data-member access='private'>
             <!-- O_nurbscurve* o_nurbscurve -->
             <var-decl name='o_nurbscurve' type-id='type-id-97' visibility='default' filepath='libnurbs/internals/reader.h' line='57' column='1'/>
@@ -8315,19 +8315,19 @@ 
       </member-type>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- union {O_nurbscurve* o_nurbscurve; O_pwlcurve* o_pwlcurve;} O_curve::curve -->
-        <var-decl name='curve' type-id='type-id-165' visibility='default' filepath='libnurbs/internals/reader.h' line='59' column='1'/>
+        <var-decl name='curve' type-id='type-id-158' visibility='default' filepath='libnurbs/internals/reader.h' line='59' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- Curvetype O_curve::curvetype -->
-        <var-decl name='curvetype' type-id='type-id-166' visibility='default' filepath='libnurbs/internals/reader.h' line='60' column='1'/>
+        <var-decl name='curvetype' type-id='type-id-159' visibility='default' filepath='libnurbs/internals/reader.h' line='60' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- O_curve* O_curve::next -->
-        <var-decl name='next' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='61' column='1'/>
+        <var-decl name='next' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='61' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- O_surface* O_curve::owner -->
-        <var-decl name='owner' type-id='type-id-82' visibility='default' filepath='libnurbs/internals/reader.h' line='62' column='1'/>
+        <var-decl name='owner' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/reader.h' line='62' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='256'>
         <!-- int O_curve::used -->
@@ -8345,7 +8345,7 @@ 
         <!-- O_curve::O_curve() -->
         <function-decl name='O_curve' filepath='libnurbs/internals/reader.h' line='66' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'O_curve*' -->
-          <parameter type-id='type-id-84' is-artificial='yes'/>
+          <parameter type-id='type-id-85' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -8354,14 +8354,14 @@ 
     <!-- struct O_trim -->
     <class-decl name='O_trim' size-in-bits='192' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='94' column='1' id='type-id-101'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- O_curve* O_trim::o_curve -->
-        <var-decl name='o_curve' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='95' column='1'/>
+        <var-decl name='o_curve' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='95' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- O_trim* O_trim::next -->
-        <var-decl name='next' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/reader.h' line='96' column='1'/>
+        <var-decl name='next' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='96' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int O_trim::save -->
@@ -8371,7 +8371,7 @@ 
         <!-- O_trim::O_trim() -->
         <function-decl name='O_trim' filepath='libnurbs/internals/reader.h' line='98' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'O_trim*' -->
-          <parameter type-id='type-id-83' is-artificial='yes'/>
+          <parameter type-id='type-id-84' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
@@ -8380,14 +8380,14 @@ 
     <!-- struct O_surface -->
     <class-decl name='O_surface' size-in-bits='256' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='112' column='1' id='type-id-100'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- O_nurbssurface* O_surface::o_nurbssurface -->
         <var-decl name='o_nurbssurface' type-id='type-id-98' visibility='default' filepath='libnurbs/internals/reader.h' line='113' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- O_trim* O_surface::o_trim -->
-        <var-decl name='o_trim' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/reader.h' line='114' column='1'/>
+        <var-decl name='o_trim' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='114' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- int O_surface::save -->
@@ -8401,14 +8401,14 @@ 
         <!-- O_surface::O_surface() -->
         <function-decl name='O_surface' filepath='libnurbs/internals/reader.h' line='117' column='1' visibility='default' binding='global' size-in-bits='64'>
           <!-- implicit parameter of type 'O_surface*' -->
-          <parameter type-id='type-id-82' is-artificial='yes'/>
+          <parameter type-id='type-id-83' is-artificial='yes'/>
           <!-- void -->
           <return type-id='type-id-12'/>
         </function-decl>
       </member-function>
     </class-decl>
     <!-- enum Curvetype -->
-    <enum-decl name='Curvetype' filepath='libnurbs/internals/reader.h' line='42' column='1' id='type-id-166'>
+    <enum-decl name='Curvetype' filepath='libnurbs/internals/reader.h' line='42' column='1' id='type-id-159'>
       <underlying-type type-id='type-id-9'/>
       <enumerator name='ct_nurbscurve' value='0'/>
       <enumerator name='ct_pwlcurve' value='1'/>
@@ -8417,10 +8417,10 @@ 
     <!-- struct O_nurbssurface -->
     <class-decl name='O_nurbssurface' size-in-bits='320' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='101' column='1' id='type-id-138'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- Quilt* O_nurbssurface::bezier_patches -->
-        <var-decl name='bezier_patches' type-id='type-id-120' visibility='default' filepath='libnurbs/internals/reader.h' line='102' column='1'/>
+        <var-decl name='bezier_patches' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/reader.h' line='102' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- long int O_nurbssurface::type -->
@@ -8428,7 +8428,7 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='128'>
         <!-- O_surface* O_nurbssurface::owner -->
-        <var-decl name='owner' type-id='type-id-82' visibility='default' filepath='libnurbs/internals/reader.h' line='104' column='1'/>
+        <var-decl name='owner' type-id='type-id-83' visibility='default' filepath='libnurbs/internals/reader.h' line='104' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='192'>
         <!-- O_nurbssurface* O_nurbssurface::next -->
@@ -8457,10 +8457,10 @@ 
     <!-- struct O_nurbscurve -->
     <class-decl name='O_nurbscurve' size-in-bits='384' is-struct='yes' visibility='default' filepath='libnurbs/internals/reader.h' line='70' column='1' id='type-id-137'>
       <!-- class PooledObj -->
-      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-164'/>
+      <base-class access='public' layout-offset-in-bits='0' type-id='type-id-157'/>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- Quilt* O_nurbscurve::bezier_curves -->
-        <var-decl name='bezier_curves' type-id='type-id-120' visibility='default' filepath='libnurbs/internals/reader.h' line='71' column='1'/>
+        <var-decl name='bezier_curves' type-id='type-id-125' visibility='default' filepath='libnurbs/internals/reader.h' line='71' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='64'>
         <!-- long int O_nurbscurve::type -->
@@ -8488,7 +8488,7 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='320'>
         <!-- O_curve* O_nurbscurve::owner -->
-        <var-decl name='owner' type-id='type-id-84' visibility='default' filepath='libnurbs/internals/reader.h' line='78' column='1'/>
+        <var-decl name='owner' type-id='type-id-85' visibility='default' filepath='libnurbs/internals/reader.h' line='78' column='1'/>
       </data-member>
       <member-function access='public' constructor='yes'>
         <!-- O_nurbscurve::O_nurbscurve(long int) -->
@@ -8503,33 +8503,33 @@ 
       </member-function>
     </class-decl>
     <!-- NurbsTessellator* const -->
-    <qualified-type-def type-id='type-id-86' const='yes' id='type-id-330'/>
+    <qualified-type-def type-id='type-id-87' const='yes' id='type-id-330'/>
     <!-- O_curve* -->
-    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-84'/>
+    <pointer-type-def type-id='type-id-96' size-in-bits='64' id='type-id-85'/>
     <!-- O_curve** -->
-    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-78'/>
+    <pointer-type-def type-id='type-id-85' size-in-bits='64' id='type-id-79'/>
     <!-- O_nurbscurve* -->
     <pointer-type-def type-id='type-id-137' size-in-bits='64' id='type-id-97'/>
     <!-- O_nurbscurve** -->
-    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-79'/>
+    <pointer-type-def type-id='type-id-97' size-in-bits='64' id='type-id-80'/>
     <!-- O_nurbssurface* -->
     <pointer-type-def type-id='type-id-138' size-in-bits='64' id='type-id-98'/>
     <!-- O_nurbssurface** -->
-    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-81'/>
+    <pointer-type-def type-id='type-id-98' size-in-bits='64' id='type-id-82'/>
     <!-- O_pwlcurve* -->
     <pointer-type-def type-id='type-id-139' size-in-bits='64' id='type-id-99'/>
     <!-- O_pwlcurve** -->
-    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-80'/>
+    <pointer-type-def type-id='type-id-99' size-in-bits='64' id='type-id-81'/>
     <!-- O_surface* -->
-    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-82'/>
+    <pointer-type-def type-id='type-id-100' size-in-bits='64' id='type-id-83'/>
     <!-- O_trim* -->
-    <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-83'/>
+    <pointer-type-def type-id='type-id-101' size-in-bits='64' id='type-id-84'/>
     <!-- O_trim** -->
-    <pointer-type-def type-id='type-id-83' size-in-bits='64' id='type-id-77'/>
+    <pointer-type-def type-id='type-id-84' size-in-bits='64' id='type-id-78'/>
     <!-- Property* -->
     <pointer-type-def type-id='type-id-328' size-in-bits='64' id='type-id-329'/>
     <!-- Renderhints* -->
-    <pointer-type-def type-id='type-id-70' size-in-bits='64' id='type-id-129'/>
+    <pointer-type-def type-id='type-id-71' size-in-bits='64' id='type-id-118'/>
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/patch.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- Patchspec[2] -->
@@ -8557,7 +8557,7 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='96'>
         <!-- REAL Pspec::sidestep[2] -->
-        <var-decl name='sidestep' type-id='type-id-160' visibility='default' filepath='libnurbs/internals/patch.h' line='48' column='1'/>
+        <var-decl name='sidestep' type-id='type-id-164' visibility='default' filepath='libnurbs/internals/patch.h' line='48' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='160'>
         <!-- REAL Pspec::stepsize -->
@@ -8576,7 +8576,7 @@ 
     <class-decl name='Patch' size-in-bits='277696' visibility='default' filepath='libnurbs/internals/patch.h' line='62' column='1' id='type-id-266'>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- Mapdesc* Patch::mapdesc -->
-        <var-decl name='mapdesc' type-id='type-id-103' visibility='default' filepath='libnurbs/internals/patch.h' line='82' column='1'/>
+        <var-decl name='mapdesc' type-id='type-id-107' visibility='default' filepath='libnurbs/internals/patch.h' line='82' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- Patch* Patch::next -->
@@ -8620,7 +8620,7 @@ 
           <!-- implicit parameter of type 'Patch*' -->
           <parameter type-id='type-id-256' is-artificial='yes'/>
           <!-- parameter of type 'Quilt*' -->
-          <parameter type-id='type-id-120'/>
+          <parameter type-id='type-id-125'/>
           <!-- parameter of type 'REAL*' -->
           <parameter type-id='type-id-16'/>
           <!-- parameter of type 'REAL*' -->
@@ -8688,11 +8688,11 @@ 
     <!-- Flist& -->
     <qualified-type-def type-id='type-id-295' id='type-id-335'/>
     <!-- Quilt* const -->
-    <qualified-type-def type-id='type-id-120' const='yes' id='type-id-336'/>
+    <qualified-type-def type-id='type-id-125' const='yes' id='type-id-336'/>
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/renderhints.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- Renderhints* const -->
-    <qualified-type-def type-id='type-id-129' const='yes' id='type-id-337'/>
+    <qualified-type-def type-id='type-id-118' const='yes' id='type-id-337'/>
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/slicer.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- class rectBlock -->
@@ -8925,11 +8925,11 @@ 
       </member-function>
     </class-decl>
     <!-- Slicer* -->
-    <pointer-type-def type-id='type-id-115' size-in-bits='64' id='type-id-158'/>
+    <pointer-type-def type-id='type-id-120' size-in-bits='64' id='type-id-162'/>
     <!-- Slicer* const -->
-    <qualified-type-def type-id='type-id-158' const='yes' id='type-id-347'/>
+    <qualified-type-def type-id='type-id-162' const='yes' id='type-id-347'/>
     <!-- TrimRegion* const -->
-    <qualified-type-def type-id='type-id-201' const='yes' id='type-id-348'/>
+    <qualified-type-def type-id='type-id-205' const='yes' id='type-id-348'/>
     <!-- gridBoundaryChain* -->
     <pointer-type-def type-id='type-id-346' size-in-bits='64' id='type-id-340'/>
     <!-- gridWrap* -->
@@ -8951,7 +8951,7 @@ 
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/sorter.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- Sorter* const -->
-    <qualified-type-def type-id='type-id-198' const='yes' id='type-id-353'/>
+    <qualified-type-def type-id='type-id-202' const='yes' id='type-id-353'/>
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/subdivider.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- Patchlist& -->
@@ -9124,7 +9124,7 @@ 
       </member-function>
     </class-decl>
     <!-- typedef Quilt* Quilt_ptr -->
-    <typedef-decl name='Quilt_ptr' type-id='type-id-120' filepath='libnurbs/internals/quilt.h' line='90' column='1' id='type-id-362'/>
+    <typedef-decl name='Quilt_ptr' type-id='type-id-125' filepath='libnurbs/internals/quilt.h' line='90' column='1' id='type-id-362'/>
     <!-- Breakpt* -->
     <pointer-type-def type-id='type-id-359' size-in-bits='64' id='type-id-357'/>
     <!-- Knotspec* -->
@@ -9148,7 +9148,7 @@ 
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/uarray.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- Uarray* const -->
-    <qualified-type-def type-id='type-id-212' const='yes' id='type-id-368'/>
+    <qualified-type-def type-id='type-id-214' const='yes' id='type-id-368'/>
   </abi-instr>
   <abi-instr address-size='64' path='libnurbs/internals/varray.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-T0fsxk/Mesa-8.0.5/src/glu/sgi' language='LANG_C_plus_plus'>
     <!-- REAL[1000] -->
@@ -9501,14 +9501,14 @@ 
     <!-- long int[8] -->
     <array-type-def dimensions='1' type-id='type-id-15' size-in-bits='512' id='type-id-222'>
       <!-- <anonymous range>[8] -->
-      <subrange length='8' type-id='type-id-3' id='type-id-224'/>
+      <subrange length='8' type-id='type-id-3' id='type-id-225'/>
     </array-type-def>
     <!-- unnamed&#45;enum&#45;underlying&#45;type&#45;32 -->
     <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='type-id-9'/>
     <!-- unsigned long int -->
     <type-decl name='unsigned long int' size-in-bits='64' id='type-id-3'/>
     <!-- unsigned long int[16] -->
-    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='1024' id='type-id-225'>
+    <array-type-def dimensions='1' type-id='type-id-3' size-in-bits='1024' id='type-id-224'>
       <!-- <anonymous range>[16] -->
       <subrange length='16' type-id='type-id-3' id='type-id-227'/>
     </array-type-def>
@@ -9642,7 +9642,7 @@ 
       </data-member>
       <data-member access='public' layout-offset-in-bits='27712'>
         <!-- jmp_buf GLUtesselator::env -->
-        <var-decl name='env' type-id='type-id-163' visibility='default' filepath='libtess/tess.h' line='121' column='1'/>
+        <var-decl name='env' type-id='type-id-156' visibility='default' filepath='libtess/tess.h' line='121' column='1'/>
       </data-member>
       <data-member access='public' layout-offset-in-bits='29312'>
         <!-- void* GLUtesselator::polygonData -->
@@ -9980,7 +9980,7 @@ 
       </data-member>
     </class-decl>
     <!-- typedef __jmp_buf_tag[1] jmp_buf -->
-    <typedef-decl name='jmp_buf' type-id='type-id-187' filepath='/usr/include/setjmp.h' line='49' column='1' id='type-id-163'/>
+    <typedef-decl name='jmp_buf' type-id='type-id-187' filepath='/usr/include/setjmp.h' line='49' column='1' id='type-id-156'/>
     <!-- typedef long int[8] __jmp_buf -->
     <typedef-decl name='__jmp_buf' type-id='type-id-222' filepath='/usr/include/bits/setjmp.h' line='32' column='1' id='type-id-215'/>
     <!-- typedef __anonymous_struct__2 __sigset_t -->
@@ -9989,7 +9989,7 @@ 
     <class-decl name='__anonymous_struct__2' size-in-bits='1024' is-struct='yes' is-anonymous='yes' naming-typedef-id='type-id-216' visibility='default' filepath='/usr/include/bits/sigset.h' line='30' column='1' id='type-id-223'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- unsigned long int __val[16] -->
-        <var-decl name='__val' type-id='type-id-225' visibility='default' filepath='/usr/include/bits/sigset.h' line='31' column='1'/>
+        <var-decl name='__val' type-id='type-id-224' visibility='default' filepath='/usr/include/bits/sigset.h' line='31' column='1'/>
       </data-member>
     </class-decl>
     <!-- ActiveRegion* -->
@@ -10047,7 +10047,7 @@ 
     <!-- void (void*, void*)* -->
     <pointer-type-def type-id='type-id-461' size-in-bits='64' id='type-id-412'/>
     <!-- void** -->
-    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-159'/>
+    <pointer-type-def type-id='type-id-25' size-in-bits='64' id='type-id-163'/>
     <!-- void gluTessProperty(GLUtesselator*, GLenum, GLdouble) -->
     <function-decl name='gluTessProperty' mangled-name='gluTessProperty' filepath='libtess/tess.c' line='201' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluTessProperty'>
       <!-- parameter of type 'GLUtesselator*' -->
@@ -10213,11 +10213,11 @@ 
       <!-- parameter of type 'GLdouble*' -->
       <parameter type-id='type-id-462'/>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-159'/>
+      <parameter type-id='type-id-163'/>
       <!-- parameter of type 'GLfloat*' -->
       <parameter type-id='type-id-61'/>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-159'/>
+      <parameter type-id='type-id-163'/>
       <!-- void -->
       <return type-id='type-id-12'/>
     </function-type>
@@ -10226,11 +10226,11 @@ 
       <!-- parameter of type 'GLdouble*' -->
       <parameter type-id='type-id-462'/>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-159'/>
+      <parameter type-id='type-id-163'/>
       <!-- parameter of type 'GLfloat*' -->
       <parameter type-id='type-id-61'/>
       <!-- parameter of type 'void**' -->
-      <parameter type-id='type-id-159'/>
+      <parameter type-id='type-id-163'/>
       <!-- parameter of type 'void*' -->
       <parameter type-id='type-id-25'/>
       <!-- void -->
@@ -10493,9 +10493,9 @@ 
     <!-- const GLdouble* -->
     <pointer-type-def type-id='type-id-470' size-in-bits='64' id='type-id-471'/>
     <!-- const GLint -->
-    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-89'/>
+    <qualified-type-def type-id='type-id-63' const='yes' id='type-id-90'/>
     <!-- const GLint* -->
-    <pointer-type-def type-id='type-id-89' size-in-bits='64' id='type-id-62'/>
+    <pointer-type-def type-id='type-id-90' size-in-bits='64' id='type-id-62'/>
     <!-- GLint gluProject(GLdouble, GLdouble, GLdouble, const GLdouble*, const GLdouble*, const GLint*, GLdouble*, GLdouble*, GLdouble*) -->
     <function-decl name='gluProject' mangled-name='gluProject' filepath='libutil/project.c' line='234' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='gluProject'>
       <!-- parameter of type 'typedef GLdouble' -->
diff --git a/tests/data/test-annotate/test15-pr18892.so.abi b/tests/data/test-annotate/test15-pr18892.so.abi
index 62a94355..ac337a41 100644
--- a/tests/data/test-annotate/test15-pr18892.so.abi
+++ b/tests/data/test-annotate/test15-pr18892.so.abi
@@ -4690,23 +4690,6 @@ 
         </data-member>
       </class-decl>
     </namespace-decl>
-    <namespace-decl name='__sanitizer'>
-      <!-- class __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback> -->
-      <class-decl name='TwoLevelByteMap&lt;2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback&gt;' size-in-bits='131136' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='594' column='1' id='type-id-132'>
-        <data-member access='private' layout-offset-in-bits='0'>
-          <!-- __sanitizer::atomic_uintptr_t __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>::map1_[2048] -->
-          <var-decl name='map1_' type-id='type-id-140' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='648' column='1'/>
-        </data-member>
-        <data-member access='private' layout-offset-in-bits='131072'>
-          <!-- __sanitizer::StaticSpinMutex __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>::mu_ -->
-          <var-decl name='mu_' type-id='type-id-119' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='649' column='1'/>
-        </data-member>
-      </class-decl>
-    </namespace-decl>
-    <!-- const __sanitizer::SpinMutex -->
-    <qualified-type-def type-id='type-id-113' const='yes' id='type-id-135'/>
-    <!-- const __sanitizer::uptr -->
-    <qualified-type-def type-id='type-id-106' const='yes' id='type-id-131'/>
     <namespace-decl name='__sanitizer'>
       <!-- struct __sanitizer::IntrusiveList<__sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch> -->
       <class-decl name='IntrusiveList&lt;__sanitizer::SizeClassMap&lt;17ul, 64ul, 14ul&gt;::TransferBatch&gt;' size-in-bits='192' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='26' column='1' id='type-id-129'>
@@ -4716,11 +4699,11 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
           <!-- __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch* __sanitizer::IntrusiveList<__sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch>::first_ -->
-          <var-decl name='first_' type-id='type-id-141' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='116' column='1'/>
+          <var-decl name='first_' type-id='type-id-140' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='116' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
           <!-- __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch* __sanitizer::IntrusiveList<__sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch>::last_ -->
-          <var-decl name='last_' type-id='type-id-141' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='117' column='1'/>
+          <var-decl name='last_' type-id='type-id-140' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='117' column='1'/>
         </data-member>
       </class-decl>
     </namespace-decl>
@@ -4729,11 +4712,11 @@ 
       <class-decl name='SizeClassAllocatorLocalCache&lt;__sanitizer::SizeClassAllocator32&lt;0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap&lt;17ul, 64ul, 14ul&gt;, 24ul, __sanitizer::TwoLevelByteMap&lt;2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback&gt;, __sanitizer::NoOpMapUnmapCallback&gt; &gt;' size-in-bits='441344' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='889' column='1' id='type-id-127'>
         <member-type access='public'>
           <!-- typedef __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >::Batch -->
-          <typedef-decl name='Batch' type-id='type-id-125' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='941' column='1' id='type-id-142'/>
+          <typedef-decl name='Batch' type-id='type-id-125' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='941' column='1' id='type-id-141'/>
         </member-type>
         <member-type access='public'>
           <!-- struct __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >::PerClass -->
-          <class-decl name='PerClass' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='942' column='1' id='type-id-143'>
+          <class-decl name='PerClass' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='942' column='1' id='type-id-142'>
             <data-member access='public' layout-offset-in-bits='0'>
               <!-- __sanitizer::uptr __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >::PerClass::count -->
               <var-decl name='count' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='943' column='1'/>
@@ -4744,7 +4727,7 @@ 
             </data-member>
             <data-member access='public' layout-offset-in-bits='128'>
               <!-- void* __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >::PerClass::batch[128] -->
-              <var-decl name='batch' type-id='type-id-144' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='945' column='1'/>
+              <var-decl name='batch' type-id='type-id-143' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='945' column='1'/>
             </data-member>
           </class-decl>
         </member-type>
@@ -4754,7 +4737,7 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >::PerClass __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >::per_class_[53] -->
-          <var-decl name='per_class_' type-id='type-id-145' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='947' column='1'/>
+          <var-decl name='per_class_' type-id='type-id-144' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='947' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='440960'>
           <!-- __sanitizer::AllocatorStats __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >::stats_ -->
@@ -4763,13 +4746,13 @@ 
       </class-decl>
     </namespace-decl>
     <namespace-decl name='__sanitizer'>
-      <class-decl name='SizeClassMap&lt;17ul, 64ul, 14ul&gt;' size-in-bits='8' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='89' column='1' id='type-id-146'>
+      <class-decl name='SizeClassMap&lt;17ul, 64ul, 14ul&gt;' size-in-bits='8' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='89' column='1' id='type-id-145'>
         <member-type access='public'>
           <!-- struct __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch -->
           <class-decl name='TransferBatch' size-in-bits='4224' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='103' column='1' id='type-id-125'>
             <data-member access='public' layout-offset-in-bits='0'>
               <!-- __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch* __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch::next -->
-              <var-decl name='next' type-id='type-id-141' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='104' column='1'/>
+              <var-decl name='next' type-id='type-id-140' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='104' column='1'/>
             </data-member>
             <data-member access='public' layout-offset-in-bits='64'>
               <!-- __sanitizer::uptr __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch::count -->
@@ -4777,12 +4760,25 @@ 
             </data-member>
             <data-member access='public' layout-offset-in-bits='128'>
               <!-- void* __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch::batch[64] -->
-              <var-decl name='batch' type-id='type-id-147' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='106' column='1'/>
+              <var-decl name='batch' type-id='type-id-146' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='106' column='1'/>
             </data-member>
           </class-decl>
         </member-type>
       </class-decl>
     </namespace-decl>
+    <namespace-decl name='__sanitizer'>
+      <!-- class __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback> -->
+      <class-decl name='TwoLevelByteMap&lt;2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback&gt;' size-in-bits='131136' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='594' column='1' id='type-id-132'>
+        <data-member access='private' layout-offset-in-bits='0'>
+          <!-- __sanitizer::atomic_uintptr_t __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>::map1_[2048] -->
+          <var-decl name='map1_' type-id='type-id-147' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='648' column='1'/>
+        </data-member>
+        <data-member access='private' layout-offset-in-bits='131072'>
+          <!-- __sanitizer::StaticSpinMutex __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>::mu_ -->
+          <var-decl name='mu_' type-id='type-id-119' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='649' column='1'/>
+        </data-member>
+      </class-decl>
+    </namespace-decl>
     <namespace-decl name='__sanitizer'>
       <!-- struct __sanitizer::atomic_uint8_t -->
       <class-decl name='atomic_uint8_t' size-in-bits='8' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_atomic.h' line='28' column='1' id='type-id-134'>
@@ -4796,22 +4792,26 @@ 
         </data-member>
       </class-decl>
     </namespace-decl>
+    <!-- const __sanitizer::SpinMutex -->
+    <qualified-type-def type-id='type-id-113' const='yes' id='type-id-135'/>
+    <!-- const __sanitizer::uptr -->
+    <qualified-type-def type-id='type-id-106' const='yes' id='type-id-131'/>
+    <!-- __sanitizer::AllocatorStats* -->
+    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-138'/>
     <!-- PerClass[53] -->
-    <array-type-def dimensions='1' type-id='type-id-143' size-in-bits='440960' id='type-id-145'>
+    <array-type-def dimensions='1' type-id='type-id-142' size-in-bits='440960' id='type-id-144'>
       <!-- <anonymous range>[53] -->
       <subrange length='53' type-id='type-id-50' id='type-id-136'/>
     </array-type-def>
-    <!-- __sanitizer::AllocatorStats* -->
-    <pointer-type-def type-id='type-id-123' size-in-bits='64' id='type-id-138'/>
     <!-- __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch* -->
-    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-141'/>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-140'/>
     <!-- atomic_uint64_t[4] -->
     <array-type-def dimensions='1' type-id='type-id-151' size-in-bits='256' id='type-id-139'>
       <!-- <anonymous range>[4] -->
       <subrange length='4' type-id='type-id-50' id='type-id-152'/>
     </array-type-def>
     <!-- atomic_uintptr_t[2048] -->
-    <array-type-def dimensions='1' type-id='type-id-153' size-in-bits='131072' id='type-id-140'>
+    <array-type-def dimensions='1' type-id='type-id-153' size-in-bits='131072' id='type-id-147'>
       <!-- <anonymous range>[2048] -->
       <subrange length='2048' type-id='type-id-50' id='type-id-154'/>
     </array-type-def>
@@ -4820,12 +4820,12 @@ 
       <typedef-decl name='u8' type-id='type-id-17' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_internal_defs.h' line='66' column='1' id='type-id-149'/>
     </namespace-decl>
     <!-- void*[128] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='8192' id='type-id-144'>
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='8192' id='type-id-143'>
       <!-- <anonymous range>[128] -->
       <subrange length='128' type-id='type-id-50' id='type-id-155'/>
     </array-type-def>
     <!-- void*[64] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='4096' id='type-id-147'>
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='4096' id='type-id-146'>
       <!-- <anonymous range>[64] -->
       <subrange length='64' type-id='type-id-50' id='type-id-122'/>
     </array-type-def>
@@ -5685,8 +5685,6 @@ 
     <pointer-type-def type-id='type-id-243' size-in-bits='64' id='type-id-239'/>
     <!-- const __sanitizer::InternalMmapVector<__sanitizer::Suppression>& -->
     <reference-type-def kind='lvalue' type-id='type-id-244' size-in-bits='64' id='type-id-241'/>
-    <!-- const __sanitizer::InternalMmapVector<__sanitizer::Suppression> -->
-    <qualified-type-def type-id='type-id-236' const='yes' id='type-id-244'/>
     <namespace-decl name='__sanitizer'>
       <!-- struct __sanitizer::Suppression -->
       <class-decl name='Suppression' size-in-bits='256' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_suppressions.h' line='30' column='1' id='type-id-243'>
@@ -5708,6 +5706,8 @@ 
         </data-member>
       </class-decl>
     </namespace-decl>
+    <!-- const __sanitizer::InternalMmapVector<__sanitizer::Suppression> -->
+    <qualified-type-def type-id='type-id-236' const='yes' id='type-id-244'/>
     <namespace-decl name='__sanitizer'>
       <!-- enum __sanitizer::SuppressionType -->
       <enum-decl name='SuppressionType' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_suppressions.h' line='19' column='1' id='type-id-245'>
@@ -6164,6 +6164,15 @@ 
         <return type-id='type-id-287'/>
       </function-decl>
     </namespace-decl>
+    <namespace-decl name='__sanitizer'>
+      <!-- struct __sanitizer::__sanitizer_kernel_sigset_t -->
+      <class-decl name='__sanitizer_kernel_sigset_t' size-in-bits='64' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h' line='419' column='1' id='type-id-282'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <!-- unsigned char __sanitizer::__sanitizer_kernel_sigset_t::sig[8] -->
+          <var-decl name='sig' type-id='type-id-289' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h' line='420' column='1'/>
+        </data-member>
+      </class-decl>
+    </namespace-decl>
     <namespace-decl name='__sanitizer'>
       <!-- enum __sanitizer::memory_order -->
       <enum-decl name='memory_order' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_atomic.h' line='19' column='1' id='type-id-288'>
@@ -6196,15 +6205,6 @@ 
       <!-- void -->
       <return type-id='type-id-4'/>
     </function-type>
-    <namespace-decl name='__sanitizer'>
-      <!-- struct __sanitizer::__sanitizer_kernel_sigset_t -->
-      <class-decl name='__sanitizer_kernel_sigset_t' size-in-bits='64' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h' line='419' column='1' id='type-id-282'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <!-- unsigned char __sanitizer::__sanitizer_kernel_sigset_t::sig[8] -->
-          <var-decl name='sig' type-id='type-id-289' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h' line='420' column='1'/>
-        </data-member>
-      </class-decl>
-    </namespace-decl>
     <!-- typedef uint64_t Elf64_Addr -->
     <typedef-decl name='Elf64_Addr' type-id='type-id-290' filepath='/usr/include/elf.h' line='50' column='1' id='type-id-249'/>
     <!-- typedef uint64_t Elf64_Xword -->
@@ -6383,6 +6383,8 @@ 
       <!-- int -->
       <return type-id='type-id-25'/>
     </function-decl>
+    <!-- struct _Unwind_Context -->
+    <class-decl name='_Unwind_Context' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-303'/>
     <!-- bool (const char*) -->
     <function-type size-in-bits='64' id='type-id-306'>
       <!-- parameter of type 'const char*' -->
@@ -6390,8 +6392,6 @@ 
       <!-- bool -->
       <return type-id='type-id-112'/>
     </function-type>
-    <!-- struct _Unwind_Context -->
-    <class-decl name='_Unwind_Context' is-struct='yes' visibility='default' is-declaration-only='yes' id='type-id-303'/>
     <!-- void** -->
     <pointer-type-def type-id='type-id-1' size-in-bits='64' id='type-id-312'/>
   </abi-instr>
@@ -8349,8 +8349,6 @@ 
     <pointer-type-def type-id='type-id-402' size-in-bits='64' id='type-id-404'/>
     <!-- const __sanitizer::Symbolizer* -->
     <pointer-type-def type-id='type-id-411' size-in-bits='64' id='type-id-403'/>
-    <!-- const __sanitizer::Symbolizer -->
-    <qualified-type-def type-id='type-id-401' const='yes' id='type-id-411'/>
     <namespace-decl name='__sanitizer'>
       <!-- struct __sanitizer::AddressInfo -->
       <class-decl name='AddressInfo' size-in-bits='384' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_symbolizer.h' line='26' column='1' id='type-id-409'>
@@ -8422,6 +8420,8 @@ 
         </data-member>
       </class-decl>
     </namespace-decl>
+    <!-- const __sanitizer::Symbolizer -->
+    <qualified-type-def type-id='type-id-401' const='yes' id='type-id-411'/>
   </abi-instr>
   <abi-instr address-size='64' path='../../.././libsanitizer/sanitizer_common/sanitizer_symbolizer_libbacktrace.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-ImG4Cf/gcc-4.9.2/x86_64-unknown-linux-gnu/libsanitizer/sanitizer_common' language='LANG_C_plus_plus'>
     <!-- typedef void (const char*, typedef size_t, void*)* demangle_callbackref -->
@@ -8830,6 +8830,23 @@ 
     <pointer-type-def type-id='type-id-437' size-in-bits='64' id='type-id-432'/>
     <!-- const __sanitizer::IntrusiveList<__sanitizer::ThreadContextBase>* -->
     <pointer-type-def type-id='type-id-438' size-in-bits='64' id='type-id-434'/>
+    <namespace-decl name='__sanitizer'>
+      <!-- struct __sanitizer::IntrusiveList<__sanitizer::ThreadContextBase> -->
+      <class-decl name='IntrusiveList&lt;__sanitizer::ThreadContextBase&gt;' size-in-bits='192' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='26' column='1' id='type-id-436'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <!-- __sanitizer::uptr __sanitizer::IntrusiveList<__sanitizer::ThreadContextBase>::size_ -->
+          <var-decl name='size_' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <!-- __sanitizer::ThreadContextBase* __sanitizer::IntrusiveList<__sanitizer::ThreadContextBase>::first_ -->
+          <var-decl name='first_' type-id='type-id-432' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <!-- __sanitizer::ThreadContextBase* __sanitizer::IntrusiveList<__sanitizer::ThreadContextBase>::last_ -->
+          <var-decl name='last_' type-id='type-id-432' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='117' column='1'/>
+        </data-member>
+      </class-decl>
+    </namespace-decl>
     <namespace-decl name='__sanitizer'>
       <!-- class __sanitizer::ThreadContextBase -->
       <class-decl name='ThreadContextBase' size-in-bits='1024' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_thread_registry.h' line='32' column='1' id='type-id-437'>
@@ -8981,23 +8998,6 @@ 
     </namespace-decl>
     <!-- const __sanitizer::IntrusiveList<__sanitizer::ThreadContextBase> -->
     <qualified-type-def type-id='type-id-436' const='yes' id='type-id-438'/>
-    <namespace-decl name='__sanitizer'>
-      <!-- struct __sanitizer::IntrusiveList<__sanitizer::ThreadContextBase> -->
-      <class-decl name='IntrusiveList&lt;__sanitizer::ThreadContextBase&gt;' size-in-bits='192' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='26' column='1' id='type-id-436'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <!-- __sanitizer::uptr __sanitizer::IntrusiveList<__sanitizer::ThreadContextBase>::size_ -->
-          <var-decl name='size_' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <!-- __sanitizer::ThreadContextBase* __sanitizer::IntrusiveList<__sanitizer::ThreadContextBase>::first_ -->
-          <var-decl name='first_' type-id='type-id-432' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <!-- __sanitizer::ThreadContextBase* __sanitizer::IntrusiveList<__sanitizer::ThreadContextBase>::last_ -->
-          <var-decl name='last_' type-id='type-id-432' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='117' column='1'/>
-        </data-member>
-      </class-decl>
-    </namespace-decl>
     <!-- char[64] -->
     <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='512' id='type-id-440'>
       <!-- <anonymous range>[64] -->
@@ -9718,11 +9718,6 @@ 
       <!-- typedef __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> > __tsan::AllocatorCache -->
       <typedef-decl name='AllocatorCache' type-id='type-id-501' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='133' column='1' id='type-id-476'/>
     </namespace-decl>
-    <!-- Desc[16] -->
-    <array-type-def dimensions='1' type-id='type-id-493' size-in-bits='3072' id='type-id-494'>
-      <!-- <anonymous range>[16] -->
-      <subrange length='16' type-id='type-id-50' id='type-id-502'/>
-    </array-type-def>
     <!-- __tsan::DeadlockDetector* -->
     <pointer-type-def type-id='type-id-481' size-in-bits='64' id='type-id-488'/>
     <!-- __tsan::FastState* -->
@@ -9730,11 +9725,154 @@ 
     <!-- __tsan::IgnoreSet* -->
     <pointer-type-def type-id='type-id-471' size-in-bits='64' id='type-id-492'/>
     <!-- __tsan::JmpBuf* -->
-    <pointer-type-def type-id='type-id-503' size-in-bits='64' id='type-id-496'/>
+    <pointer-type-def type-id='type-id-502' size-in-bits='64' id='type-id-496'/>
     <!-- __tsan::MutexSet* -->
     <pointer-type-def type-id='type-id-475' size-in-bits='64' id='type-id-495'/>
+    <!-- Desc[16] -->
+    <array-type-def dimensions='1' type-id='type-id-493' size-in-bits='3072' id='type-id-494'>
+      <!-- <anonymous range>[16] -->
+      <subrange length='16' type-id='type-id-50' id='type-id-503'/>
+    </array-type-def>
     <!-- __tsan::Vector<__tsan::JmpBuf>* -->
     <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-497'/>
+    <namespace-decl name='__sanitizer'>
+      <!-- struct __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> > -->
+      <class-decl name='SizeClassAllocatorLocalCache&lt;__sanitizer::SizeClassAllocator64&lt;137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap&lt;17ul, 128ul, 16ul&gt;, __tsan::MapUnmapCallback&gt; &gt;' size-in-bits='875520' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='889' column='1' id='type-id-501'>
+        <member-type access='public'>
+          <!-- struct __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::PerClass -->
+          <class-decl name='PerClass' size-in-bits='16512' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='942' column='1' id='type-id-504'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <!-- __sanitizer::uptr __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::PerClass::count -->
+              <var-decl name='count' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='943' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <!-- __sanitizer::uptr __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::PerClass::max_count -->
+              <var-decl name='max_count' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='944' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <!-- void* __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::PerClass::batch[256] -->
+              <var-decl name='batch' type-id='type-id-505' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='945' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+        <member-type access='public'>
+          <!-- typedef __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::Batch -->
+          <typedef-decl name='Batch' type-id='type-id-507' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='941' column='1' id='type-id-506'/>
+        </member-type>
+        <data-member access='public' static='yes'>
+          <!-- static const __sanitizer::uptr __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::kNumClasses -->
+          <var-decl name='kNumClasses' type-id='type-id-131' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='891' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <!-- __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::PerClass __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::per_class_[53] -->
+          <var-decl name='per_class_' type-id='type-id-508' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='947' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='875136'>
+          <!-- __sanitizer::AllocatorStats __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::stats_ -->
+          <var-decl name='stats_' type-id='type-id-123' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='948' column='1'/>
+        </data-member>
+      </class-decl>
+    </namespace-decl>
+    <namespace-decl name='__tsan'>
+      <!-- struct __tsan::Context -->
+      <class-decl name='Context' size-in-bits='549632' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='526' column='1' id='type-id-484'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <!-- bool __tsan::Context::initialized -->
+          <var-decl name='initialized' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='529' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <!-- __tsan::SyncTab __tsan::Context::synctab -->
+          <var-decl name='synctab' type-id='type-id-509' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='531' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='516736'>
+          <!-- __tsan::Mutex __tsan::Context::report_mtx -->
+          <var-decl name='report_mtx' type-id='type-id-510' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='533' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='516800'>
+          <!-- int __tsan::Context::nreported -->
+          <var-decl name='nreported' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='534' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='516832'>
+          <!-- int __tsan::Context::nmissed_expected -->
+          <var-decl name='nmissed_expected' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='535' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='516864'>
+          <!-- __sanitizer::atomic_uint64_t __tsan::Context::last_symbolize_time_ns -->
+          <var-decl name='last_symbolize_time_ns' type-id='type-id-151' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='536' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='516928'>
+          <!-- __sanitizer::ThreadRegistry* __tsan::Context::thread_registry -->
+          <var-decl name='thread_registry' type-id='type-id-511' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='538' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='516992'>
+          <!-- __tsan::Vector<__tsan::RacyStacks> __tsan::Context::racy_stacks -->
+          <var-decl name='racy_stacks' type-id='type-id-512' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='540' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='517248'>
+          <!-- __tsan::Vector<__tsan::RacyAddress> __tsan::Context::racy_addresses -->
+          <var-decl name='racy_addresses' type-id='type-id-513' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='541' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='517504'>
+          <!-- __sanitizer::InternalMmapVector<__tsan::FiredSuppression> __tsan::Context::fired_suppressions -->
+          <var-decl name='fired_suppressions' type-id='type-id-514' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='543' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='517696'>
+          <!-- __tsan::Flags __tsan::Context::flags -->
+          <var-decl name='flags' type-id='type-id-515' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='545' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='518656'>
+          <!-- long long unsigned int __tsan::Context::stat[438] -->
+          <var-decl name='stat' type-id='type-id-479' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='547' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='546688'>
+          <!-- long long unsigned int __tsan::Context::int_alloc_cnt[23] -->
+          <var-decl name='int_alloc_cnt' type-id='type-id-516' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='548' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='548160'>
+          <!-- long long unsigned int __tsan::Context::int_alloc_siz[23] -->
+          <var-decl name='int_alloc_siz' type-id='type-id-516' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='549' column='1'/>
+        </data-member>
+        <member-function access='public' constructor='yes'>
+          <!-- __tsan::Context::Context() -->
+          <function-decl name='Context' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='527' column='1' visibility='default' binding='global' size-in-bits='64'>
+            <!-- implicit parameter of type '__tsan::Context*' -->
+            <parameter type-id='type-id-483' is-artificial='yes'/>
+            <!-- void -->
+            <return type-id='type-id-4'/>
+          </function-decl>
+        </member-function>
+        <member-function access='public' constructor='yes'>
+          <!-- __tsan::Context::Context() -->
+          <function-decl name='Context' mangled-name='_ZN6__tsan7ContextC2Ev' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='527' column='1' visibility='default' binding='global' size-in-bits='64'>
+            <!-- implicit parameter of type '__tsan::Context*' -->
+            <parameter type-id='type-id-483' is-artificial='yes'/>
+            <!-- void -->
+            <return type-id='type-id-4'/>
+          </function-decl>
+        </member-function>
+      </class-decl>
+    </namespace-decl>
+    <namespace-decl name='__tsan'>
+      <!-- struct __tsan::SignalContext -->
+      <class-decl name='SignalContext' size-in-bits='553088' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='121' column='1' id='type-id-485'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <!-- int __tsan::SignalContext::in_blocking_func -->
+          <var-decl name='in_blocking_func' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='122' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='32'>
+          <!-- int __tsan::SignalContext::int_signal_send -->
+          <var-decl name='int_signal_send' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='123' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <!-- int __tsan::SignalContext::pending_signal_count -->
+          <var-decl name='pending_signal_count' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='124' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <!-- __tsan::SignalDesc __tsan::SignalContext::pending_signals[64] -->
+          <var-decl name='pending_signals' type-id='type-id-517' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='125' column='1'/>
+        </data-member>
+      </class-decl>
+    </namespace-decl>
     <namespace-decl name='__tsan'>
       <!-- class __tsan::ThreadContext -->
       <class-decl name='ThreadContext' size-in-bits='1536' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='478' column='1' id='type-id-486'>
@@ -9869,170 +10007,32 @@ 
     <!-- const __sanitizer::u64 -->
     <qualified-type-def type-id='type-id-157' const='yes' id='type-id-489'/>
     <!-- const __tsan::Vector<__tsan::JmpBuf>& -->
-    <reference-type-def kind='lvalue' type-id='type-id-504' size-in-bits='64' id='type-id-498'/>
+    <reference-type-def kind='lvalue' type-id='type-id-518' size-in-bits='64' id='type-id-498'/>
     <!-- long long unsigned int[11] -->
     <array-type-def dimensions='1' type-id='type-id-161' size-in-bits='704' id='type-id-487'>
       <!-- <anonymous range>[11] -->
-      <subrange length='11' type-id='type-id-50' id='type-id-505'/>
+      <subrange length='11' type-id='type-id-50' id='type-id-519'/>
+    </array-type-def>
+    <!-- unsigned int[16] -->
+    <array-type-def dimensions='1' type-id='type-id-211' size-in-bits='512' id='type-id-491'>
+      <!-- <anonymous range>[16] -->
+      <subrange length='16' type-id='type-id-50' id='type-id-503'/>
+    </array-type-def>
+    <!-- PerClass[53] -->
+    <array-type-def dimensions='1' type-id='type-id-504' size-in-bits='875136' id='type-id-508'>
+      <!-- <anonymous range>[53] -->
+      <subrange length='53' type-id='type-id-50' id='type-id-136'/>
+    </array-type-def>
+    <!-- __sanitizer::ThreadRegistry* -->
+    <pointer-type-def type-id='type-id-520' size-in-bits='64' id='type-id-511'/>
+    <!-- SignalDesc[64] -->
+    <array-type-def dimensions='1' type-id='type-id-521' size-in-bits='552960' id='type-id-517'>
+      <!-- <anonymous range>[64] -->
+      <subrange length='64' type-id='type-id-50' id='type-id-122'/>
     </array-type-def>
-    <namespace-decl name='__sanitizer'>
-      <!-- struct __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> > -->
-      <class-decl name='SizeClassAllocatorLocalCache&lt;__sanitizer::SizeClassAllocator64&lt;137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap&lt;17ul, 128ul, 16ul&gt;, __tsan::MapUnmapCallback&gt; &gt;' size-in-bits='875520' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='889' column='1' id='type-id-501'>
-        <member-type access='public'>
-          <!-- struct __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::PerClass -->
-          <class-decl name='PerClass' size-in-bits='16512' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='942' column='1' id='type-id-506'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <!-- __sanitizer::uptr __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::PerClass::count -->
-              <var-decl name='count' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='943' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <!-- __sanitizer::uptr __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::PerClass::max_count -->
-              <var-decl name='max_count' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='944' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='128'>
-              <!-- void* __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::PerClass::batch[256] -->
-              <var-decl name='batch' type-id='type-id-507' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='945' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-        <member-type access='public'>
-          <!-- typedef __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::Batch -->
-          <typedef-decl name='Batch' type-id='type-id-509' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='941' column='1' id='type-id-508'/>
-        </member-type>
-        <data-member access='public' static='yes'>
-          <!-- static const __sanitizer::uptr __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::kNumClasses -->
-          <var-decl name='kNumClasses' type-id='type-id-131' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='891' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <!-- __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::PerClass __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::per_class_[53] -->
-          <var-decl name='per_class_' type-id='type-id-510' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='947' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='875136'>
-          <!-- __sanitizer::AllocatorStats __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::stats_ -->
-          <var-decl name='stats_' type-id='type-id-123' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='948' column='1'/>
-        </data-member>
-      </class-decl>
-    </namespace-decl>
-    <namespace-decl name='__tsan'>
-      <!-- struct __tsan::Context -->
-      <class-decl name='Context' size-in-bits='549632' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='526' column='1' id='type-id-484'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <!-- bool __tsan::Context::initialized -->
-          <var-decl name='initialized' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='529' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <!-- __tsan::SyncTab __tsan::Context::synctab -->
-          <var-decl name='synctab' type-id='type-id-511' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='531' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='516736'>
-          <!-- __tsan::Mutex __tsan::Context::report_mtx -->
-          <var-decl name='report_mtx' type-id='type-id-512' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='533' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='516800'>
-          <!-- int __tsan::Context::nreported -->
-          <var-decl name='nreported' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='534' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='516832'>
-          <!-- int __tsan::Context::nmissed_expected -->
-          <var-decl name='nmissed_expected' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='535' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='516864'>
-          <!-- __sanitizer::atomic_uint64_t __tsan::Context::last_symbolize_time_ns -->
-          <var-decl name='last_symbolize_time_ns' type-id='type-id-151' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='536' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='516928'>
-          <!-- __sanitizer::ThreadRegistry* __tsan::Context::thread_registry -->
-          <var-decl name='thread_registry' type-id='type-id-513' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='538' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='516992'>
-          <!-- __tsan::Vector<__tsan::RacyStacks> __tsan::Context::racy_stacks -->
-          <var-decl name='racy_stacks' type-id='type-id-514' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='540' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='517248'>
-          <!-- __tsan::Vector<__tsan::RacyAddress> __tsan::Context::racy_addresses -->
-          <var-decl name='racy_addresses' type-id='type-id-515' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='541' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='517504'>
-          <!-- __sanitizer::InternalMmapVector<__tsan::FiredSuppression> __tsan::Context::fired_suppressions -->
-          <var-decl name='fired_suppressions' type-id='type-id-516' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='543' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='517696'>
-          <!-- __tsan::Flags __tsan::Context::flags -->
-          <var-decl name='flags' type-id='type-id-517' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='545' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='518656'>
-          <!-- long long unsigned int __tsan::Context::stat[438] -->
-          <var-decl name='stat' type-id='type-id-479' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='547' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='546688'>
-          <!-- long long unsigned int __tsan::Context::int_alloc_cnt[23] -->
-          <var-decl name='int_alloc_cnt' type-id='type-id-518' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='548' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='548160'>
-          <!-- long long unsigned int __tsan::Context::int_alloc_siz[23] -->
-          <var-decl name='int_alloc_siz' type-id='type-id-518' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='549' column='1'/>
-        </data-member>
-        <member-function access='public' constructor='yes'>
-          <!-- __tsan::Context::Context() -->
-          <function-decl name='Context' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='527' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <!-- implicit parameter of type '__tsan::Context*' -->
-            <parameter type-id='type-id-483' is-artificial='yes'/>
-            <!-- void -->
-            <return type-id='type-id-4'/>
-          </function-decl>
-        </member-function>
-        <member-function access='public' constructor='yes'>
-          <!-- __tsan::Context::Context() -->
-          <function-decl name='Context' mangled-name='_ZN6__tsan7ContextC2Ev' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='527' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <!-- implicit parameter of type '__tsan::Context*' -->
-            <parameter type-id='type-id-483' is-artificial='yes'/>
-            <!-- void -->
-            <return type-id='type-id-4'/>
-          </function-decl>
-        </member-function>
-      </class-decl>
-    </namespace-decl>
-    <namespace-decl name='__tsan'>
-      <!-- struct __tsan::SignalContext -->
-      <class-decl name='SignalContext' size-in-bits='553088' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='121' column='1' id='type-id-485'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <!-- int __tsan::SignalContext::in_blocking_func -->
-          <var-decl name='in_blocking_func' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='122' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='32'>
-          <!-- int __tsan::SignalContext::int_signal_send -->
-          <var-decl name='int_signal_send' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='123' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <!-- int __tsan::SignalContext::pending_signal_count -->
-          <var-decl name='pending_signal_count' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='124' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <!-- __tsan::SignalDesc __tsan::SignalContext::pending_signals[64] -->
-          <var-decl name='pending_signals' type-id='type-id-519' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='125' column='1'/>
-        </data-member>
-      </class-decl>
-    </namespace-decl>
-    <!-- unsigned int[16] -->
-    <array-type-def dimensions='1' type-id='type-id-211' size-in-bits='512' id='type-id-491'>
-      <!-- <anonymous range>[16] -->
-      <subrange length='16' type-id='type-id-50' id='type-id-502'/>
-    </array-type-def>
-    <!-- PerClass[53] -->
-    <array-type-def dimensions='1' type-id='type-id-506' size-in-bits='875136' id='type-id-510'>
-      <!-- <anonymous range>[53] -->
-      <subrange length='53' type-id='type-id-50' id='type-id-136'/>
-    </array-type-def>
-    <!-- SignalDesc[64] -->
-    <array-type-def dimensions='1' type-id='type-id-520' size-in-bits='552960' id='type-id-519'>
-      <!-- <anonymous range>[64] -->
-      <subrange length='64' type-id='type-id-50' id='type-id-122'/>
-    </array-type-def>
-    <!-- __sanitizer::ThreadRegistry* -->
-    <pointer-type-def type-id='type-id-521' size-in-bits='64' id='type-id-513'/>
     <namespace-decl name='__sanitizer'>
       <!-- class __sanitizer::InternalMmapVector<__tsan::FiredSuppression> -->
-      <class-decl name='InternalMmapVector&lt;__tsan::FiredSuppression&gt;' size-in-bits='192' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common.h' line='320' column='1' id='type-id-516'>
+      <class-decl name='InternalMmapVector&lt;__tsan::FiredSuppression&gt;' size-in-bits='192' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common.h' line='320' column='1' id='type-id-514'>
         <data-member access='private' layout-offset-in-bits='0'>
           <!-- __tsan::FiredSuppression* __sanitizer::InternalMmapVector<__tsan::FiredSuppression>::data_ -->
           <var-decl name='data_' type-id='type-id-522' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common.h' line='382' column='1'/>
@@ -10080,9 +10080,150 @@ 
         </member-function>
       </class-decl>
     </namespace-decl>
+    <namespace-decl name='__sanitizer'>
+      <class-decl name='SizeClassMap&lt;17ul, 128ul, 16ul&gt;' size-in-bits='8' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='89' column='1' id='type-id-525'>
+        <member-type access='public'>
+          <!-- struct __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch -->
+          <class-decl name='TransferBatch' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='103' column='1' id='type-id-507'>
+            <data-member access='public' layout-offset-in-bits='0'>
+              <!-- __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch* __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch::next -->
+              <var-decl name='next' type-id='type-id-526' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='104' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='64'>
+              <!-- __sanitizer::uptr __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch::count -->
+              <var-decl name='count' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='105' column='1'/>
+            </data-member>
+            <data-member access='public' layout-offset-in-bits='128'>
+              <!-- void* __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch::batch[128] -->
+              <var-decl name='batch' type-id='type-id-143' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='106' column='1'/>
+            </data-member>
+          </class-decl>
+        </member-type>
+      </class-decl>
+    </namespace-decl>
+    <namespace-decl name='__tsan'>
+      <!-- struct __tsan::Flags -->
+      <class-decl name='Flags' size-in-bits='960' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='25' column='1' id='type-id-515'>
+        <!-- struct __sanitizer::CommonFlags -->
+        <base-class access='public' layout-offset-in-bits='0' type-id='type-id-527'/>
+        <data-member access='public' layout-offset-in-bits='384'>
+          <!-- bool __tsan::Flags::enable_annotations -->
+          <var-decl name='enable_annotations' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='27' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='392'>
+          <!-- bool __tsan::Flags::suppress_equal_stacks -->
+          <var-decl name='suppress_equal_stacks' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='400'>
+          <!-- bool __tsan::Flags::suppress_equal_addresses -->
+          <var-decl name='suppress_equal_addresses' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='33' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='408'>
+          <!-- bool __tsan::Flags::suppress_java -->
+          <var-decl name='suppress_java' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='416'>
+          <!-- bool __tsan::Flags::report_bugs -->
+          <var-decl name='report_bugs' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='424'>
+          <!-- bool __tsan::Flags::report_thread_leaks -->
+          <var-decl name='report_thread_leaks' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='40' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='432'>
+          <!-- bool __tsan::Flags::report_destroy_locked -->
+          <var-decl name='report_destroy_locked' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='440'>
+          <!-- bool __tsan::Flags::report_signal_unsafe -->
+          <var-decl name='report_signal_unsafe' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='45' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='448'>
+          <!-- bool __tsan::Flags::report_atomic_races -->
+          <var-decl name='report_atomic_races' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='47' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='456'>
+          <!-- bool __tsan::Flags::force_seq_cst_atomics -->
+          <var-decl name='force_seq_cst_atomics' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='512'>
+          <!-- const char* __tsan::Flags::suppressions -->
+          <var-decl name='suppressions' type-id='type-id-2' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='576'>
+          <!-- bool __tsan::Flags::print_suppressions -->
+          <var-decl name='print_suppressions' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='54' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='584'>
+          <!-- bool __tsan::Flags::print_benign -->
+          <var-decl name='print_benign' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='56' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='608'>
+          <!-- int __tsan::Flags::exitcode -->
+          <var-decl name='exitcode' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='58' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='640'>
+          <!-- bool __tsan::Flags::halt_on_error -->
+          <var-decl name='halt_on_error' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='60' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='672'>
+          <!-- int __tsan::Flags::atexit_sleep_ms -->
+          <var-decl name='atexit_sleep_ms' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='63' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='704'>
+          <!-- const char* __tsan::Flags::profile_memory -->
+          <var-decl name='profile_memory' type-id='type-id-2' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='65' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='768'>
+          <!-- int __tsan::Flags::flush_memory_ms -->
+          <var-decl name='flush_memory_ms' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='67' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='800'>
+          <!-- int __tsan::Flags::flush_symbolizer_ms -->
+          <var-decl name='flush_symbolizer_ms' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='69' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='832'>
+          <!-- int __tsan::Flags::memory_limit_mb -->
+          <var-decl name='memory_limit_mb' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='72' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='864'>
+          <!-- bool __tsan::Flags::stop_on_start -->
+          <var-decl name='stop_on_start' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='74' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='872'>
+          <!-- bool __tsan::Flags::running_on_valgrind -->
+          <var-decl name='running_on_valgrind' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='76' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='896'>
+          <!-- int __tsan::Flags::history_size -->
+          <var-decl name='history_size' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='928'>
+          <!-- int __tsan::Flags::io_sync -->
+          <var-decl name='io_sync' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='87' column='1'/>
+        </data-member>
+      </class-decl>
+    </namespace-decl>
+    <namespace-decl name='__tsan'>
+      <!-- struct __tsan::JmpBuf -->
+      <class-decl name='JmpBuf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='390' column='1' id='type-id-502'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <!-- __sanitizer::uptr __tsan::JmpBuf::sp -->
+          <var-decl name='sp' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='391' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <!-- __sanitizer::uptr __tsan::JmpBuf::mangled_sp -->
+          <var-decl name='mangled_sp' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='392' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <!-- __sanitizer::uptr* __tsan::JmpBuf::shadow_stack_pos -->
+          <var-decl name='shadow_stack_pos' type-id='type-id-472' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='393' column='1'/>
+        </data-member>
+      </class-decl>
+    </namespace-decl>
     <namespace-decl name='__tsan'>
       <!-- class __tsan::Mutex -->
-      <class-decl name='Mutex' size-in-bits='64' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='37' column='1' id='type-id-512'>
+      <class-decl name='Mutex' size-in-bits='64' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='37' column='1' id='type-id-510'>
         <data-member access='private' layout-offset-in-bits='0'>
           <!-- __sanitizer::atomic_uintptr_t __tsan::Mutex::state_ -->
           <var-decl name='state_' type-id='type-id-153' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='51' column='1'/>
@@ -10091,11 +10232,11 @@ 
           <!-- __tsan::Mutex::Mutex(__tsan::MutexType, __tsan::StatType) -->
           <function-decl name='Mutex' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Mutex*' -->
-            <parameter type-id='type-id-525' is-artificial='yes'/>
+            <parameter type-id='type-id-528' is-artificial='yes'/>
             <!-- parameter of type 'enum __tsan::MutexType' -->
-            <parameter type-id='type-id-526'/>
+            <parameter type-id='type-id-529'/>
             <!-- parameter of type 'enum __tsan::StatType' -->
-            <parameter type-id='type-id-527'/>
+            <parameter type-id='type-id-530'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
@@ -10104,7 +10245,7 @@ 
           <!-- __tsan::Mutex::~Mutex(int) -->
           <function-decl name='~Mutex' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='40' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Mutex*' -->
-            <parameter type-id='type-id-525' is-artificial='yes'/>
+            <parameter type-id='type-id-528' is-artificial='yes'/>
             <!-- artificial parameter of type 'int' -->
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <!-- void -->
@@ -10115,9 +10256,9 @@ 
           <!-- __tsan::Mutex::Mutex(const __tsan::Mutex&) -->
           <function-decl name='Mutex' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Mutex*' -->
-            <parameter type-id='type-id-525' is-artificial='yes'/>
+            <parameter type-id='type-id-528' is-artificial='yes'/>
             <!-- parameter of type 'const __tsan::Mutex&' -->
-            <parameter type-id='type-id-528'/>
+            <parameter type-id='type-id-531'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
@@ -10126,11 +10267,11 @@ 
           <!-- __tsan::Mutex::Mutex(__tsan::MutexType, __tsan::StatType) -->
           <function-decl name='Mutex' mangled-name='_ZN6__tsan5MutexC2ENS_9MutexTypeENS_8StatTypeE' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Mutex*' -->
-            <parameter type-id='type-id-525' is-artificial='yes'/>
+            <parameter type-id='type-id-528' is-artificial='yes'/>
             <!-- parameter of type 'enum __tsan::MutexType' -->
-            <parameter type-id='type-id-526'/>
+            <parameter type-id='type-id-529'/>
             <!-- parameter of type 'enum __tsan::StatType' -->
-            <parameter type-id='type-id-527'/>
+            <parameter type-id='type-id-530'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
@@ -10139,7 +10280,7 @@ 
           <!-- __tsan::Mutex::~Mutex(int) -->
           <function-decl name='~Mutex' mangled-name='_ZN6__tsan5MutexD2Ev' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='40' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Mutex*' -->
-            <parameter type-id='type-id-525' is-artificial='yes'/>
+            <parameter type-id='type-id-528' is-artificial='yes'/>
             <!-- artificial parameter of type 'int' -->
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <!-- void -->
@@ -10150,27 +10291,27 @@ 
     </namespace-decl>
     <namespace-decl name='__tsan'>
       <!-- class __tsan::SyncTab -->
-      <class-decl name='SyncTab' size-in-bits='516672' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='85' column='1' id='type-id-511'>
+      <class-decl name='SyncTab' size-in-bits='516672' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='85' column='1' id='type-id-509'>
         <member-type access='private'>
           <!-- struct __tsan::SyncTab::Part -->
-          <class-decl name='Part' size-in-bits='512' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='102' column='1' id='type-id-529'>
+          <class-decl name='Part' size-in-bits='512' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='102' column='1' id='type-id-532'>
             <data-member access='public' layout-offset-in-bits='0'>
               <!-- __tsan::Mutex __tsan::SyncTab::Part::mtx -->
-              <var-decl name='mtx' type-id='type-id-512' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='103' column='1'/>
+              <var-decl name='mtx' type-id='type-id-510' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='103' column='1'/>
             </data-member>
             <data-member access='public' layout-offset-in-bits='64'>
               <!-- __tsan::SyncVar* __tsan::SyncTab::Part::val -->
-              <var-decl name='val' type-id='type-id-530' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='104' column='1'/>
+              <var-decl name='val' type-id='type-id-533' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='104' column='1'/>
             </data-member>
             <data-member access='public' layout-offset-in-bits='128'>
               <!-- char __tsan::SyncTab::Part::pad[48] -->
-              <var-decl name='pad' type-id='type-id-531' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='105' column='1'/>
+              <var-decl name='pad' type-id='type-id-534' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='105' column='1'/>
             </data-member>
             <member-function access='public' constructor='yes'>
               <!-- __tsan::SyncTab::Part::Part() -->
               <function-decl name='Part' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64'>
                 <!-- implicit parameter of type '__tsan::SyncTab::Part*' -->
-                <parameter type-id='type-id-532' is-artificial='yes'/>
+                <parameter type-id='type-id-535' is-artificial='yes'/>
                 <!-- void -->
                 <return type-id='type-id-4'/>
               </function-decl>
@@ -10179,7 +10320,7 @@ 
               <!-- __tsan::SyncTab::Part::Part() -->
               <function-decl name='Part' mangled-name='_ZN6__tsan7SyncTab4PartC2Ev' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64'>
                 <!-- implicit parameter of type '__tsan::SyncTab::Part*' -->
-                <parameter type-id='type-id-532' is-artificial='yes'/>
+                <parameter type-id='type-id-535' is-artificial='yes'/>
                 <!-- void -->
                 <return type-id='type-id-4'/>
               </function-decl>
@@ -10192,7 +10333,7 @@ 
         </data-member>
         <data-member access='private' layout-offset-in-bits='0'>
           <!-- __tsan::SyncTab::Part __tsan::SyncTab::tab_[1009] -->
-          <var-decl name='tab_' type-id='type-id-533' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='111' column='1'/>
+          <var-decl name='tab_' type-id='type-id-536' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='111' column='1'/>
         </data-member>
         <data-member access='private' layout-offset-in-bits='516608'>
           <!-- __sanitizer::atomic_uint64_t __tsan::SyncTab::uid_gen_ -->
@@ -10202,7 +10343,7 @@ 
           <!-- __tsan::SyncTab::SyncTab() -->
           <function-decl name='SyncTab' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::SyncTab*' -->
-            <parameter type-id='type-id-534' is-artificial='yes'/>
+            <parameter type-id='type-id-537' is-artificial='yes'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
@@ -10211,7 +10352,7 @@ 
           <!-- __tsan::SyncTab::~SyncTab(int) -->
           <function-decl name='~SyncTab' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::SyncTab*' -->
-            <parameter type-id='type-id-534' is-artificial='yes'/>
+            <parameter type-id='type-id-537' is-artificial='yes'/>
             <!-- artificial parameter of type 'int' -->
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <!-- void -->
@@ -10222,9 +10363,9 @@ 
           <!-- __tsan::SyncTab::SyncTab(const __tsan::SyncTab&) -->
           <function-decl name='SyncTab' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::SyncTab*' -->
-            <parameter type-id='type-id-534' is-artificial='yes'/>
+            <parameter type-id='type-id-537' is-artificial='yes'/>
             <!-- parameter of type 'const __tsan::SyncTab&' -->
-            <parameter type-id='type-id-535'/>
+            <parameter type-id='type-id-538'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
@@ -10233,7 +10374,7 @@ 
           <!-- __tsan::SyncTab::SyncTab() -->
           <function-decl name='SyncTab' mangled-name='_ZN6__tsan7SyncTabC2Ev' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::SyncTab*' -->
-            <parameter type-id='type-id-534' is-artificial='yes'/>
+            <parameter type-id='type-id-537' is-artificial='yes'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
@@ -10242,7 +10383,7 @@ 
           <!-- __tsan::SyncTab::~SyncTab(int) -->
           <function-decl name='~SyncTab' mangled-name='_ZN6__tsan7SyncTabD2Ev' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::SyncTab*' -->
-            <parameter type-id='type-id-534' is-artificial='yes'/>
+            <parameter type-id='type-id-537' is-artificial='yes'/>
             <!-- artificial parameter of type 'int' -->
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <!-- void -->
@@ -10253,28 +10394,28 @@ 
     </namespace-decl>
     <namespace-decl name='__tsan'>
       <!-- class __tsan::Vector<__tsan::RacyAddress> -->
-      <class-decl name='Vector&lt;__tsan::RacyAddress&gt;' size-in-bits='256' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='23' column='1' id='type-id-515'>
+      <class-decl name='Vector&lt;__tsan::RacyAddress&gt;' size-in-bits='256' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='23' column='1' id='type-id-513'>
         <data-member access='private' layout-offset-in-bits='0'>
           <!-- const __tsan::MBlockType __tsan::Vector<__tsan::RacyAddress>::typ_ -->
           <var-decl name='typ_' type-id='type-id-452' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='80' column='1'/>
         </data-member>
         <data-member access='private' layout-offset-in-bits='64'>
           <!-- __tsan::RacyAddress* __tsan::Vector<__tsan::RacyAddress>::begin_ -->
-          <var-decl name='begin_' type-id='type-id-536' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='81' column='1'/>
+          <var-decl name='begin_' type-id='type-id-539' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='81' column='1'/>
         </data-member>
         <data-member access='private' layout-offset-in-bits='128'>
           <!-- __tsan::RacyAddress* __tsan::Vector<__tsan::RacyAddress>::end_ -->
-          <var-decl name='end_' type-id='type-id-536' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='82' column='1'/>
+          <var-decl name='end_' type-id='type-id-539' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='82' column='1'/>
         </data-member>
         <data-member access='private' layout-offset-in-bits='192'>
           <!-- __tsan::RacyAddress* __tsan::Vector<__tsan::RacyAddress>::last_ -->
-          <var-decl name='last_' type-id='type-id-536' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='83' column='1'/>
+          <var-decl name='last_' type-id='type-id-539' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='83' column='1'/>
         </data-member>
         <member-function access='public'>
           <!-- void __tsan::Vector<__tsan::RacyAddress>::Vector(__tsan::MBlockType) -->
           <function-decl name='Vector' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='25' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Vector<__tsan::RacyAddress>*' -->
-            <parameter type-id='type-id-537' is-artificial='yes'/>
+            <parameter type-id='type-id-540' is-artificial='yes'/>
             <!-- parameter of type 'enum __tsan::MBlockType' -->
             <parameter type-id='type-id-451'/>
             <!-- void -->
@@ -10285,7 +10426,7 @@ 
           <!-- __tsan::Vector<__tsan::RacyAddress>::~Vector(int) -->
           <function-decl name='~Vector' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='32' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Vector<__tsan::RacyAddress>*' -->
-            <parameter type-id='type-id-537' is-artificial='yes'/>
+            <parameter type-id='type-id-540' is-artificial='yes'/>
             <!-- artificial parameter of type 'int' -->
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <!-- void -->
@@ -10296,62 +10437,8 @@ 
           <!-- void __tsan::Vector<__tsan::RacyAddress>::Vector(const __tsan::Vector<__tsan::RacyAddress>&) -->
           <function-decl name='Vector' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Vector<__tsan::RacyAddress>*' -->
-            <parameter type-id='type-id-537' is-artificial='yes'/>
-            <!-- parameter of type 'const __tsan::Vector<__tsan::RacyAddress>&' -->
-            <parameter type-id='type-id-538'/>
-            <!-- void -->
-            <return type-id='type-id-4'/>
-          </function-decl>
-        </member-function>
-      </class-decl>
-    </namespace-decl>
-    <namespace-decl name='__tsan'>
-      <!-- class __tsan::Vector<__tsan::RacyStacks> -->
-      <class-decl name='Vector&lt;__tsan::RacyStacks&gt;' size-in-bits='256' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='23' column='1' id='type-id-514'>
-        <data-member access='private' layout-offset-in-bits='0'>
-          <!-- const __tsan::MBlockType __tsan::Vector<__tsan::RacyStacks>::typ_ -->
-          <var-decl name='typ_' type-id='type-id-452' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='80' column='1'/>
-        </data-member>
-        <data-member access='private' layout-offset-in-bits='64'>
-          <!-- __tsan::RacyStacks* __tsan::Vector<__tsan::RacyStacks>::begin_ -->
-          <var-decl name='begin_' type-id='type-id-539' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='81' column='1'/>
-        </data-member>
-        <data-member access='private' layout-offset-in-bits='128'>
-          <!-- __tsan::RacyStacks* __tsan::Vector<__tsan::RacyStacks>::end_ -->
-          <var-decl name='end_' type-id='type-id-539' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='private' layout-offset-in-bits='192'>
-          <!-- __tsan::RacyStacks* __tsan::Vector<__tsan::RacyStacks>::last_ -->
-          <var-decl name='last_' type-id='type-id-539' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='83' column='1'/>
-        </data-member>
-        <member-function access='public'>
-          <!-- void __tsan::Vector<__tsan::RacyStacks>::Vector(__tsan::MBlockType) -->
-          <function-decl name='Vector' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='25' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <!-- implicit parameter of type '__tsan::Vector<__tsan::RacyStacks>*' -->
             <parameter type-id='type-id-540' is-artificial='yes'/>
-            <!-- parameter of type 'enum __tsan::MBlockType' -->
-            <parameter type-id='type-id-451'/>
-            <!-- void -->
-            <return type-id='type-id-4'/>
-          </function-decl>
-        </member-function>
-        <member-function access='public' destructor='yes'>
-          <!-- __tsan::Vector<__tsan::RacyStacks>::~Vector(int) -->
-          <function-decl name='~Vector' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='32' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <!-- implicit parameter of type '__tsan::Vector<__tsan::RacyStacks>*' -->
-            <parameter type-id='type-id-540' is-artificial='yes'/>
-            <!-- artificial parameter of type 'int' -->
-            <parameter type-id='type-id-25' is-artificial='yes'/>
-            <!-- void -->
-            <return type-id='type-id-4'/>
-          </function-decl>
-        </member-function>
-        <member-function access='private'>
-          <!-- void __tsan::Vector<__tsan::RacyStacks>::Vector(const __tsan::Vector<__tsan::RacyStacks>&) -->
-          <function-decl name='Vector' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'>
-            <!-- implicit parameter of type '__tsan::Vector<__tsan::RacyStacks>*' -->
-            <parameter type-id='type-id-540' is-artificial='yes'/>
-            <!-- parameter of type 'const __tsan::Vector<__tsan::RacyStacks>&' -->
+            <!-- parameter of type 'const __tsan::Vector<__tsan::RacyAddress>&' -->
             <parameter type-id='type-id-541'/>
             <!-- void -->
             <return type-id='type-id-4'/>
@@ -10359,194 +10446,164 @@ 
         </member-function>
       </class-decl>
     </namespace-decl>
-    <!-- const __tsan::Vector<__tsan::JmpBuf> -->
-    <qualified-type-def type-id='type-id-478' const='yes' id='type-id-504'/>
-    <!-- long long unsigned int[23] -->
-    <array-type-def dimensions='1' type-id='type-id-161' size-in-bits='1472' id='type-id-518'>
-      <!-- <anonymous range>[23] -->
-      <subrange length='23' type-id='type-id-50' id='type-id-542'/>
-    </array-type-def>
-    <namespace-decl name='__sanitizer'>
-      <class-decl name='SizeClassMap&lt;17ul, 128ul, 16ul&gt;' size-in-bits='8' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='89' column='1' id='type-id-543'>
-        <member-type access='public'>
-          <!-- struct __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch -->
-          <class-decl name='TransferBatch' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='103' column='1' id='type-id-509'>
-            <data-member access='public' layout-offset-in-bits='0'>
-              <!-- __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch* __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch::next -->
-              <var-decl name='next' type-id='type-id-544' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='104' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='64'>
-              <!-- __sanitizer::uptr __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch::count -->
-              <var-decl name='count' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='105' column='1'/>
-            </data-member>
-            <data-member access='public' layout-offset-in-bits='128'>
-              <!-- void* __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch::batch[128] -->
-              <var-decl name='batch' type-id='type-id-144' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='106' column='1'/>
-            </data-member>
-          </class-decl>
-        </member-type>
-      </class-decl>
-    </namespace-decl>
-    <namespace-decl name='__tsan'>
-      <!-- struct __tsan::Flags -->
-      <class-decl name='Flags' size-in-bits='960' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='25' column='1' id='type-id-517'>
-        <!-- struct __sanitizer::CommonFlags -->
-        <base-class access='public' layout-offset-in-bits='0' type-id='type-id-545'/>
-        <data-member access='public' layout-offset-in-bits='384'>
-          <!-- bool __tsan::Flags::enable_annotations -->
-          <var-decl name='enable_annotations' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='27' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='392'>
-          <!-- bool __tsan::Flags::suppress_equal_stacks -->
-          <var-decl name='suppress_equal_stacks' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='400'>
-          <!-- bool __tsan::Flags::suppress_equal_addresses -->
-          <var-decl name='suppress_equal_addresses' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='33' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='408'>
-          <!-- bool __tsan::Flags::suppress_java -->
-          <var-decl name='suppress_java' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='416'>
-          <!-- bool __tsan::Flags::report_bugs -->
-          <var-decl name='report_bugs' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='424'>
-          <!-- bool __tsan::Flags::report_thread_leaks -->
-          <var-decl name='report_thread_leaks' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='40' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='432'>
-          <!-- bool __tsan::Flags::report_destroy_locked -->
-          <var-decl name='report_destroy_locked' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='440'>
-          <!-- bool __tsan::Flags::report_signal_unsafe -->
-          <var-decl name='report_signal_unsafe' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='45' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='448'>
-          <!-- bool __tsan::Flags::report_atomic_races -->
-          <var-decl name='report_atomic_races' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='47' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='456'>
-          <!-- bool __tsan::Flags::force_seq_cst_atomics -->
-          <var-decl name='force_seq_cst_atomics' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='512'>
-          <!-- const char* __tsan::Flags::suppressions -->
-          <var-decl name='suppressions' type-id='type-id-2' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='576'>
-          <!-- bool __tsan::Flags::print_suppressions -->
-          <var-decl name='print_suppressions' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='54' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='584'>
-          <!-- bool __tsan::Flags::print_benign -->
-          <var-decl name='print_benign' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='56' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='608'>
-          <!-- int __tsan::Flags::exitcode -->
-          <var-decl name='exitcode' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='58' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='640'>
-          <!-- bool __tsan::Flags::halt_on_error -->
-          <var-decl name='halt_on_error' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='60' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='672'>
-          <!-- int __tsan::Flags::atexit_sleep_ms -->
-          <var-decl name='atexit_sleep_ms' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='63' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='704'>
-          <!-- const char* __tsan::Flags::profile_memory -->
-          <var-decl name='profile_memory' type-id='type-id-2' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='65' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='768'>
-          <!-- int __tsan::Flags::flush_memory_ms -->
-          <var-decl name='flush_memory_ms' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='67' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='800'>
-          <!-- int __tsan::Flags::flush_symbolizer_ms -->
-          <var-decl name='flush_symbolizer_ms' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='69' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='832'>
-          <!-- int __tsan::Flags::memory_limit_mb -->
-          <var-decl name='memory_limit_mb' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='72' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='864'>
-          <!-- bool __tsan::Flags::stop_on_start -->
-          <var-decl name='stop_on_start' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='74' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='872'>
-          <!-- bool __tsan::Flags::running_on_valgrind -->
-          <var-decl name='running_on_valgrind' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='76' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='896'>
-          <!-- int __tsan::Flags::history_size -->
-          <var-decl name='history_size' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='82' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='928'>
-          <!-- int __tsan::Flags::io_sync -->
-          <var-decl name='io_sync' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='87' column='1'/>
-        </data-member>
-      </class-decl>
-    </namespace-decl>
-    <namespace-decl name='__tsan'>
-      <!-- struct __tsan::JmpBuf -->
-      <class-decl name='JmpBuf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='390' column='1' id='type-id-503'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <!-- __sanitizer::uptr __tsan::JmpBuf::sp -->
-          <var-decl name='sp' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='391' column='1'/>
+    <namespace-decl name='__tsan'>
+      <!-- class __tsan::Vector<__tsan::RacyStacks> -->
+      <class-decl name='Vector&lt;__tsan::RacyStacks&gt;' size-in-bits='256' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='23' column='1' id='type-id-512'>
+        <data-member access='private' layout-offset-in-bits='0'>
+          <!-- const __tsan::MBlockType __tsan::Vector<__tsan::RacyStacks>::typ_ -->
+          <var-decl name='typ_' type-id='type-id-452' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='80' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <!-- __sanitizer::uptr __tsan::JmpBuf::mangled_sp -->
-          <var-decl name='mangled_sp' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='392' column='1'/>
+        <data-member access='private' layout-offset-in-bits='64'>
+          <!-- __tsan::RacyStacks* __tsan::Vector<__tsan::RacyStacks>::begin_ -->
+          <var-decl name='begin_' type-id='type-id-542' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='81' column='1'/>
         </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <!-- __sanitizer::uptr* __tsan::JmpBuf::shadow_stack_pos -->
-          <var-decl name='shadow_stack_pos' type-id='type-id-472' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='393' column='1'/>
+        <data-member access='private' layout-offset-in-bits='128'>
+          <!-- __tsan::RacyStacks* __tsan::Vector<__tsan::RacyStacks>::end_ -->
+          <var-decl name='end_' type-id='type-id-542' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='82' column='1'/>
+        </data-member>
+        <data-member access='private' layout-offset-in-bits='192'>
+          <!-- __tsan::RacyStacks* __tsan::Vector<__tsan::RacyStacks>::last_ -->
+          <var-decl name='last_' type-id='type-id-542' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='83' column='1'/>
         </data-member>
+        <member-function access='public'>
+          <!-- void __tsan::Vector<__tsan::RacyStacks>::Vector(__tsan::MBlockType) -->
+          <function-decl name='Vector' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='25' column='1' visibility='default' binding='global' size-in-bits='64'>
+            <!-- implicit parameter of type '__tsan::Vector<__tsan::RacyStacks>*' -->
+            <parameter type-id='type-id-543' is-artificial='yes'/>
+            <!-- parameter of type 'enum __tsan::MBlockType' -->
+            <parameter type-id='type-id-451'/>
+            <!-- void -->
+            <return type-id='type-id-4'/>
+          </function-decl>
+        </member-function>
+        <member-function access='public' destructor='yes'>
+          <!-- __tsan::Vector<__tsan::RacyStacks>::~Vector(int) -->
+          <function-decl name='~Vector' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='32' column='1' visibility='default' binding='global' size-in-bits='64'>
+            <!-- implicit parameter of type '__tsan::Vector<__tsan::RacyStacks>*' -->
+            <parameter type-id='type-id-543' is-artificial='yes'/>
+            <!-- artificial parameter of type 'int' -->
+            <parameter type-id='type-id-25' is-artificial='yes'/>
+            <!-- void -->
+            <return type-id='type-id-4'/>
+          </function-decl>
+        </member-function>
+        <member-function access='private'>
+          <!-- void __tsan::Vector<__tsan::RacyStacks>::Vector(const __tsan::Vector<__tsan::RacyStacks>&) -->
+          <function-decl name='Vector' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'>
+            <!-- implicit parameter of type '__tsan::Vector<__tsan::RacyStacks>*' -->
+            <parameter type-id='type-id-543' is-artificial='yes'/>
+            <!-- parameter of type 'const __tsan::Vector<__tsan::RacyStacks>&' -->
+            <parameter type-id='type-id-544'/>
+            <!-- void -->
+            <return type-id='type-id-4'/>
+          </function-decl>
+        </member-function>
       </class-decl>
     </namespace-decl>
+    <!-- const __tsan::Vector<__tsan::JmpBuf> -->
+    <qualified-type-def type-id='type-id-478' const='yes' id='type-id-518'/>
+    <!-- long long unsigned int[23] -->
+    <array-type-def dimensions='1' type-id='type-id-161' size-in-bits='1472' id='type-id-516'>
+      <!-- <anonymous range>[23] -->
+      <subrange length='23' type-id='type-id-50' id='type-id-545'/>
+    </array-type-def>
     <!-- void*[256] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-507'>
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-505'>
       <!-- <anonymous range>[256] -->
       <subrange length='256' type-id='type-id-50' id='type-id-194'/>
     </array-type-def>
-    <!-- Part[1009] -->
-    <array-type-def dimensions='1' type-id='type-id-529' size-in-bits='516608' id='type-id-533'>
-      <!-- <anonymous range>[1009] -->
-      <subrange length='1009' type-id='type-id-50' id='type-id-546'/>
-    </array-type-def>
     <!-- __sanitizer::InternalMmapVector<__tsan::FiredSuppression>* -->
-    <pointer-type-def type-id='type-id-516' size-in-bits='64' id='type-id-523'/>
+    <pointer-type-def type-id='type-id-514' size-in-bits='64' id='type-id-523'/>
     <!-- __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch* -->
-    <pointer-type-def type-id='type-id-509' size-in-bits='64' id='type-id-544'/>
+    <pointer-type-def type-id='type-id-507' size-in-bits='64' id='type-id-526'/>
     <!-- __tsan::FiredSuppression* -->
-    <pointer-type-def type-id='type-id-547' size-in-bits='64' id='type-id-522'/>
+    <pointer-type-def type-id='type-id-546' size-in-bits='64' id='type-id-522'/>
     <!-- __tsan::Mutex* -->
-    <pointer-type-def type-id='type-id-512' size-in-bits='64' id='type-id-525'/>
+    <pointer-type-def type-id='type-id-510' size-in-bits='64' id='type-id-528'/>
     <!-- __tsan::RacyAddress* -->
-    <pointer-type-def type-id='type-id-548' size-in-bits='64' id='type-id-536'/>
+    <pointer-type-def type-id='type-id-547' size-in-bits='64' id='type-id-539'/>
     <!-- __tsan::RacyStacks* -->
-    <pointer-type-def type-id='type-id-549' size-in-bits='64' id='type-id-539'/>
+    <pointer-type-def type-id='type-id-548' size-in-bits='64' id='type-id-542'/>
     <!-- __tsan::SyncTab* -->
-    <pointer-type-def type-id='type-id-511' size-in-bits='64' id='type-id-534'/>
+    <pointer-type-def type-id='type-id-509' size-in-bits='64' id='type-id-537'/>
     <!-- __tsan::SyncTab::Part* -->
-    <pointer-type-def type-id='type-id-529' size-in-bits='64' id='type-id-532'/>
+    <pointer-type-def type-id='type-id-532' size-in-bits='64' id='type-id-535'/>
+    <!-- Part[1009] -->
+    <array-type-def dimensions='1' type-id='type-id-532' size-in-bits='516608' id='type-id-536'>
+      <!-- <anonymous range>[1009] -->
+      <subrange length='1009' type-id='type-id-50' id='type-id-549'/>
+    </array-type-def>
     <!-- __tsan::SyncVar* -->
-    <pointer-type-def type-id='type-id-550' size-in-bits='64' id='type-id-530'/>
+    <pointer-type-def type-id='type-id-550' size-in-bits='64' id='type-id-533'/>
     <!-- __tsan::Vector<__tsan::RacyAddress>* -->
-    <pointer-type-def type-id='type-id-515' size-in-bits='64' id='type-id-537'/>
+    <pointer-type-def type-id='type-id-513' size-in-bits='64' id='type-id-540'/>
     <!-- __tsan::Vector<__tsan::RacyStacks>* -->
-    <pointer-type-def type-id='type-id-514' size-in-bits='64' id='type-id-540'/>
+    <pointer-type-def type-id='type-id-512' size-in-bits='64' id='type-id-543'/>
     <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='384' id='type-id-531'>
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='384' id='type-id-534'>
       <!-- <anonymous range>[48] -->
       <subrange length='48' type-id='type-id-50' id='type-id-551'/>
     </array-type-def>
+    <namespace-decl name='__sanitizer'>
+      <!-- struct __sanitizer::CommonFlags -->
+      <class-decl name='CommonFlags' size-in-bits='384' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='23' column='1' id='type-id-527'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <!-- bool __sanitizer::CommonFlags::symbolize -->
+          <var-decl name='symbolize' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='25' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <!-- const char* __sanitizer::CommonFlags::external_symbolizer_path -->
+          <var-decl name='external_symbolizer_path' type-id='type-id-2' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='28' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='128'>
+          <!-- const char* __sanitizer::CommonFlags::strip_path_prefix -->
+          <var-decl name='strip_path_prefix' type-id='type-id-2' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='30' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='192'>
+          <!-- bool __sanitizer::CommonFlags::fast_unwind_on_fatal -->
+          <var-decl name='fast_unwind_on_fatal' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='32' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='200'>
+          <!-- bool __sanitizer::CommonFlags::fast_unwind_on_malloc -->
+          <var-decl name='fast_unwind_on_malloc' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='34' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='208'>
+          <!-- bool __sanitizer::CommonFlags::handle_ioctl -->
+          <var-decl name='handle_ioctl' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='36' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='224'>
+          <!-- int __sanitizer::CommonFlags::malloc_context_size -->
+          <var-decl name='malloc_context_size' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='38' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='256'>
+          <!-- const char* __sanitizer::CommonFlags::log_path -->
+          <var-decl name='log_path' type-id='type-id-2' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='42' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='320'>
+          <!-- int __sanitizer::CommonFlags::verbosity -->
+          <var-decl name='verbosity' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='44' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='352'>
+          <!-- bool __sanitizer::CommonFlags::detect_leaks -->
+          <var-decl name='detect_leaks' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='46' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='360'>
+          <!-- bool __sanitizer::CommonFlags::leak_check_at_exit -->
+          <var-decl name='leak_check_at_exit' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='50' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='368'>
+          <!-- bool __sanitizer::CommonFlags::allocator_may_return_null -->
+          <var-decl name='allocator_may_return_null' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='52' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='376'>
+          <!-- bool __sanitizer::CommonFlags::print_summary -->
+          <var-decl name='print_summary' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='54' column='1'/>
+        </data-member>
+      </class-decl>
+    </namespace-decl>
     <namespace-decl name='__sanitizer'>
       <!-- class __sanitizer::ThreadRegistry -->
-      <class-decl name='ThreadRegistry' size-in-bits='1600' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_thread_registry.h' line='73' column='1' id='type-id-521'>
+      <class-decl name='ThreadRegistry' size-in-bits='1600' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_thread_registry.h' line='73' column='1' id='type-id-520'>
         <member-type access='public'>
           <!-- typedef void (__sanitizer::ThreadContextBase*, void*)* __sanitizer::ThreadRegistry::ThreadCallback -->
           <typedef-decl name='ThreadCallback' type-id='type-id-553' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_thread_registry.h' line='94' column='1' id='type-id-552'/>
@@ -10611,7 +10668,7 @@ 
           <!-- __sanitizer::ThreadRegistry::ThreadRegistry(__sanitizer::ThreadContextFactory, __sanitizer::u32, __sanitizer::u32) -->
           <function-decl name='ThreadRegistry' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_thread_registry.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__sanitizer::ThreadRegistry*' -->
-            <parameter type-id='type-id-513' is-artificial='yes'/>
+            <parameter type-id='type-id-511' is-artificial='yes'/>
             <!-- parameter of type 'typedef __sanitizer::ThreadContextFactory' -->
             <parameter type-id='type-id-558'/>
             <!-- parameter of type 'typedef __sanitizer::u32' -->
@@ -10626,7 +10683,7 @@ 
           <!-- __sanitizer::ThreadRegistry::ThreadRegistry(__sanitizer::ThreadContextFactory, __sanitizer::u32, __sanitizer::u32) -->
           <function-decl name='ThreadRegistry' mangled-name='_ZN11__sanitizer14ThreadRegistryC2EPFPNS_17ThreadContextBaseEjEjj' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_thread_registry.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__sanitizer::ThreadRegistry*' -->
-            <parameter type-id='type-id-513' is-artificial='yes'/>
+            <parameter type-id='type-id-511' is-artificial='yes'/>
             <!-- parameter of type 'typedef __sanitizer::ThreadContextFactory' -->
             <parameter type-id='type-id-558'/>
             <!-- parameter of type 'typedef __sanitizer::u32' -->
@@ -10639,19 +10696,40 @@ 
         </member-function>
       </class-decl>
     </namespace-decl>
+    <namespace-decl name='__tsan'>
+      <!-- struct __tsan::SignalDesc -->
+      <class-decl name='SignalDesc' size-in-bits='8640' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='114' column='1' id='type-id-521'>
+        <data-member access='public' layout-offset-in-bits='0'>
+          <!-- bool __tsan::SignalDesc::armed -->
+          <var-decl name='armed' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='115' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='8'>
+          <!-- bool __tsan::SignalDesc::sigaction -->
+          <var-decl name='sigaction' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='116' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='64'>
+          <!-- my_siginfo_t __tsan::SignalDesc::siginfo -->
+          <var-decl name='siginfo' type-id='type-id-559' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='117' column='1'/>
+        </data-member>
+        <data-member access='public' layout-offset-in-bits='1088'>
+          <!-- ucontext_t __tsan::SignalDesc::ctx -->
+          <var-decl name='ctx' type-id='type-id-560' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='118' column='1'/>
+        </data-member>
+      </class-decl>
+    </namespace-decl>
     <!-- const __sanitizer::InternalMmapVector<__tsan::FiredSuppression>& -->
-    <reference-type-def kind='lvalue' type-id='type-id-559' size-in-bits='64' id='type-id-524'/>
+    <reference-type-def kind='lvalue' type-id='type-id-561' size-in-bits='64' id='type-id-524'/>
     <!-- const __tsan::Mutex& -->
-    <reference-type-def kind='lvalue' type-id='type-id-560' size-in-bits='64' id='type-id-528'/>
+    <reference-type-def kind='lvalue' type-id='type-id-562' size-in-bits='64' id='type-id-531'/>
     <!-- const __tsan::SyncTab& -->
-    <reference-type-def kind='lvalue' type-id='type-id-561' size-in-bits='64' id='type-id-535'/>
+    <reference-type-def kind='lvalue' type-id='type-id-563' size-in-bits='64' id='type-id-538'/>
     <!-- const __tsan::Vector<__tsan::RacyAddress>& -->
-    <reference-type-def kind='lvalue' type-id='type-id-562' size-in-bits='64' id='type-id-538'/>
+    <reference-type-def kind='lvalue' type-id='type-id-564' size-in-bits='64' id='type-id-541'/>
     <!-- const __tsan::Vector<__tsan::RacyStacks>& -->
-    <reference-type-def kind='lvalue' type-id='type-id-563' size-in-bits='64' id='type-id-541'/>
+    <reference-type-def kind='lvalue' type-id='type-id-565' size-in-bits='64' id='type-id-544'/>
     <namespace-decl name='__tsan'>
       <!-- enum __tsan::MutexType -->
-      <enum-decl name='MutexType' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='20' column='1' id='type-id-526'>
+      <enum-decl name='MutexType' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='20' column='1' id='type-id-529'>
         <underlying-type type-id='type-id-62'/>
         <enumerator name='MutexTypeInvalid' value='0'/>
         <enumerator name='MutexTypeTrace' value='1'/>
@@ -10669,7 +10747,7 @@ 
     </namespace-decl>
     <namespace-decl name='__tsan'>
       <!-- enum __tsan::StatType -->
-      <enum-decl name='StatType' filepath='../../.././libsanitizer/tsan/tsan_stat.h' line='17' column='1' id='type-id-527'>
+      <enum-decl name='StatType' filepath='../../.././libsanitizer/tsan/tsan_stat.h' line='17' column='1' id='type-id-530'>
         <underlying-type type-id='type-id-62'/>
         <enumerator name='StatMop' value='0'/>
         <enumerator name='StatMopRead' value='1'/>
@@ -11112,103 +11190,13 @@ 
         <enumerator name='StatCnt' value='438'/>
       </enum-decl>
     </namespace-decl>
-    <namespace-decl name='__sanitizer'>
-      <!-- struct __sanitizer::CommonFlags -->
-      <class-decl name='CommonFlags' size-in-bits='384' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='23' column='1' id='type-id-545'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <!-- bool __sanitizer::CommonFlags::symbolize -->
-          <var-decl name='symbolize' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='25' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <!-- const char* __sanitizer::CommonFlags::external_symbolizer_path -->
-          <var-decl name='external_symbolizer_path' type-id='type-id-2' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='28' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='128'>
-          <!-- const char* __sanitizer::CommonFlags::strip_path_prefix -->
-          <var-decl name='strip_path_prefix' type-id='type-id-2' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='30' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='192'>
-          <!-- bool __sanitizer::CommonFlags::fast_unwind_on_fatal -->
-          <var-decl name='fast_unwind_on_fatal' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='32' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='200'>
-          <!-- bool __sanitizer::CommonFlags::fast_unwind_on_malloc -->
-          <var-decl name='fast_unwind_on_malloc' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='34' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='208'>
-          <!-- bool __sanitizer::CommonFlags::handle_ioctl -->
-          <var-decl name='handle_ioctl' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='36' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='224'>
-          <!-- int __sanitizer::CommonFlags::malloc_context_size -->
-          <var-decl name='malloc_context_size' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='38' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='256'>
-          <!-- const char* __sanitizer::CommonFlags::log_path -->
-          <var-decl name='log_path' type-id='type-id-2' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='42' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='320'>
-          <!-- int __sanitizer::CommonFlags::verbosity -->
-          <var-decl name='verbosity' type-id='type-id-25' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='44' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='352'>
-          <!-- bool __sanitizer::CommonFlags::detect_leaks -->
-          <var-decl name='detect_leaks' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='46' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='360'>
-          <!-- bool __sanitizer::CommonFlags::leak_check_at_exit -->
-          <var-decl name='leak_check_at_exit' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='50' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='368'>
-          <!-- bool __sanitizer::CommonFlags::allocator_may_return_null -->
-          <var-decl name='allocator_may_return_null' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='52' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='376'>
-          <!-- bool __sanitizer::CommonFlags::print_summary -->
-          <var-decl name='print_summary' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='54' column='1'/>
-        </data-member>
-      </class-decl>
-    </namespace-decl>
-    <namespace-decl name='__tsan'>
-      <!-- struct __tsan::SignalDesc -->
-      <class-decl name='SignalDesc' size-in-bits='8640' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='114' column='1' id='type-id-520'>
-        <data-member access='public' layout-offset-in-bits='0'>
-          <!-- bool __tsan::SignalDesc::armed -->
-          <var-decl name='armed' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='115' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='8'>
-          <!-- bool __tsan::SignalDesc::sigaction -->
-          <var-decl name='sigaction' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='116' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='64'>
-          <!-- my_siginfo_t __tsan::SignalDesc::siginfo -->
-          <var-decl name='siginfo' type-id='type-id-564' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='117' column='1'/>
-        </data-member>
-        <data-member access='public' layout-offset-in-bits='1088'>
-          <!-- ucontext_t __tsan::SignalDesc::ctx -->
-          <var-decl name='ctx' type-id='type-id-565' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='118' column='1'/>
-        </data-member>
-      </class-decl>
-    </namespace-decl>
     <!-- __sanitizer::ThreadContextBase** -->
     <pointer-type-def type-id='type-id-432' size-in-bits='64' id='type-id-557'/>
     <!-- bool (__sanitizer::ThreadContextBase*, void*)* -->
     <pointer-type-def type-id='type-id-566' size-in-bits='64' id='type-id-555'/>
-    <!-- const __sanitizer::InternalMmapVector<__tsan::FiredSuppression> -->
-    <qualified-type-def type-id='type-id-516' const='yes' id='type-id-559'/>
-    <!-- const __sanitizer::ThreadContextFactory -->
-    <qualified-type-def type-id='type-id-558' const='yes' id='type-id-556'/>
-    <!-- const __tsan::Mutex -->
-    <qualified-type-def type-id='type-id-512' const='yes' id='type-id-560'/>
-    <!-- const __tsan::SyncTab -->
-    <qualified-type-def type-id='type-id-511' const='yes' id='type-id-561'/>
-    <!-- const __tsan::Vector<__tsan::RacyAddress> -->
-    <qualified-type-def type-id='type-id-515' const='yes' id='type-id-562'/>
-    <!-- const __tsan::Vector<__tsan::RacyStacks> -->
-    <qualified-type-def type-id='type-id-514' const='yes' id='type-id-563'/>
     <namespace-decl name='__tsan'>
       <!-- struct __tsan::FiredSuppression -->
-      <class-decl name='FiredSuppression' size-in-bits='192' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='520' column='1' id='type-id-547'>
+      <class-decl name='FiredSuppression' size-in-bits='192' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='520' column='1' id='type-id-546'>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- __tsan::ReportType __tsan::FiredSuppression::type -->
           <var-decl name='type' type-id='type-id-567' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='521' column='1'/>
@@ -11225,7 +11213,7 @@ 
     </namespace-decl>
     <namespace-decl name='__tsan'>
       <!-- struct __tsan::RacyAddress -->
-      <class-decl name='RacyAddress' size-in-bits='128' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='515' column='1' id='type-id-548'>
+      <class-decl name='RacyAddress' size-in-bits='128' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='515' column='1' id='type-id-547'>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- __sanitizer::uptr __tsan::RacyAddress::addr_min -->
           <var-decl name='addr_min' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='516' column='1'/>
@@ -11238,7 +11226,7 @@ 
     </namespace-decl>
     <namespace-decl name='__tsan'>
       <!-- struct __tsan::RacyStacks -->
-      <class-decl name='RacyStacks' size-in-bits='256' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='504' column='1' id='type-id-549'>
+      <class-decl name='RacyStacks' size-in-bits='256' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='504' column='1' id='type-id-548'>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- __tsan::MD5Hash __tsan::RacyStacks::hash[2] -->
           <var-decl name='hash' type-id='type-id-568' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='505' column='1'/>
@@ -11254,7 +11242,7 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- __tsan::Mutex __tsan::SyncVar::mtx -->
-          <var-decl name='mtx' type-id='type-id-512' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='55' column='1'/>
+          <var-decl name='mtx' type-id='type-id-510' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='55' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
           <!-- __sanitizer::uptr __tsan::SyncVar::addr -->
@@ -11306,13 +11294,13 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='896'>
           <!-- __tsan::SyncVar* __tsan::SyncVar::next -->
-          <var-decl name='next' type-id='type-id-530' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='68' column='1'/>
+          <var-decl name='next' type-id='type-id-533' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='68' column='1'/>
         </data-member>
         <member-function access='public' constructor='yes'>
           <!-- __tsan::SyncVar::SyncVar(__sanitizer::uptr, __sanitizer::u64) -->
           <function-decl name='SyncVar' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::SyncVar*' -->
-            <parameter type-id='type-id-530' is-artificial='yes'/>
+            <parameter type-id='type-id-533' is-artificial='yes'/>
             <!-- parameter of type 'typedef __sanitizer::uptr' -->
             <parameter type-id='type-id-106'/>
             <!-- parameter of type 'typedef __sanitizer::u64' -->
@@ -11325,7 +11313,7 @@ 
           <!-- __tsan::SyncVar::SyncVar(__sanitizer::uptr, __sanitizer::u64) -->
           <function-decl name='SyncVar' mangled-name='_ZN6__tsan7SyncVarC2Emy' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::SyncVar*' -->
-            <parameter type-id='type-id-530' is-artificial='yes'/>
+            <parameter type-id='type-id-533' is-artificial='yes'/>
             <!-- parameter of type 'typedef __sanitizer::uptr' -->
             <parameter type-id='type-id-106'/>
             <!-- parameter of type 'typedef __sanitizer::u64' -->
@@ -11337,32 +11325,44 @@ 
       </class-decl>
     </namespace-decl>
     <!-- struct my_siginfo_t -->
-    <class-decl name='my_siginfo_t' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='32' column='1' id='type-id-564'>
+    <class-decl name='my_siginfo_t' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='32' column='1' id='type-id-559'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- long long unsigned int my_siginfo_t::opaque[16] -->
         <var-decl name='opaque' type-id='type-id-569' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='34' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct ucontext_t -->
-    <class-decl name='ucontext_t' size-in-bits='7552' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='37' column='1' id='type-id-565'>
+    <class-decl name='ucontext_t' size-in-bits='7552' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='37' column='1' id='type-id-560'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- long long unsigned int ucontext_t::opaque[118] -->
         <var-decl name='opaque' type-id='type-id-570' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='39' column='1'/>
       </data-member>
     </class-decl>
+    <!-- const __sanitizer::InternalMmapVector<__tsan::FiredSuppression> -->
+    <qualified-type-def type-id='type-id-514' const='yes' id='type-id-561'/>
+    <!-- const __sanitizer::ThreadContextFactory -->
+    <qualified-type-def type-id='type-id-558' const='yes' id='type-id-556'/>
+    <!-- const __tsan::Mutex -->
+    <qualified-type-def type-id='type-id-510' const='yes' id='type-id-562'/>
+    <!-- const __tsan::SyncTab -->
+    <qualified-type-def type-id='type-id-509' const='yes' id='type-id-563'/>
+    <!-- const __tsan::Vector<__tsan::RacyAddress> -->
+    <qualified-type-def type-id='type-id-513' const='yes' id='type-id-564'/>
+    <!-- const __tsan::Vector<__tsan::RacyStacks> -->
+    <qualified-type-def type-id='type-id-512' const='yes' id='type-id-565'/>
     <namespace-decl name='__sanitizer'>
       <!-- typedef __sanitizer::ThreadContextBase* (typedef __sanitizer::u32)* __sanitizer::ThreadContextFactory -->
       <typedef-decl name='ThreadContextFactory' type-id='type-id-571' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_thread_registry.h' line='71' column='1' id='type-id-558'/>
     </namespace-decl>
     <!-- void (__sanitizer::ThreadContextBase*, void*)* -->
     <pointer-type-def type-id='type-id-572' size-in-bits='64' id='type-id-553'/>
+    <!-- __sanitizer::ThreadContextBase* (typedef __sanitizer::u32)* -->
+    <pointer-type-def type-id='type-id-573' size-in-bits='64' id='type-id-571'/>
     <!-- MD5Hash[2] -->
-    <array-type-def dimensions='1' type-id='type-id-573' size-in-bits='256' id='type-id-568'>
+    <array-type-def dimensions='1' type-id='type-id-574' size-in-bits='256' id='type-id-568'>
       <!-- <anonymous range>[2] -->
       <subrange length='2' type-id='type-id-50' id='type-id-499'/>
     </array-type-def>
-    <!-- __sanitizer::ThreadContextBase* (typedef __sanitizer::u32)* -->
-    <pointer-type-def type-id='type-id-574' size-in-bits='64' id='type-id-571'/>
     <namespace-decl name='__tsan'>
       <!-- enum __tsan::ReportType -->
       <enum-decl name='ReportType' filepath='../../.././libsanitizer/tsan/tsan_report.h' line='19' column='1' id='type-id-567'>
@@ -11384,11 +11384,11 @@ 
     <!-- long long unsigned int[16] -->
     <array-type-def dimensions='1' type-id='type-id-161' size-in-bits='1024' id='type-id-569'>
       <!-- <anonymous range>[16] -->
-      <subrange length='16' type-id='type-id-50' id='type-id-502'/>
+      <subrange length='16' type-id='type-id-50' id='type-id-503'/>
     </array-type-def>
     <namespace-decl name='__tsan'>
       <!-- struct __tsan::MD5Hash -->
-      <class-decl name='MD5Hash' size-in-bits='128' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_defs.h' line='147' column='1' id='type-id-573'>
+      <class-decl name='MD5Hash' size-in-bits='128' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_defs.h' line='147' column='1' id='type-id-574'>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- long long unsigned int __tsan::MD5Hash::hash[2] -->
           <var-decl name='hash' type-id='type-id-474' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_defs.h' line='148' column='1'/>
@@ -11398,7 +11398,7 @@ 
   </abi-instr>
   <abi-instr address-size='64' path='../../.././libsanitizer/tsan/tsan_flags.cc' comp-dir-path='/tmp/legendre/spack-stage/spack-stage-ImG4Cf/gcc-4.9.2/x86_64-unknown-linux-gnu/libsanitizer/tsan' language='LANG_C_plus_plus'>
     <!-- __sanitizer::CommonFlags* -->
-    <pointer-type-def type-id='type-id-545' size-in-bits='64' id='type-id-576'/>
+    <pointer-type-def type-id='type-id-527' size-in-bits='64' id='type-id-576'/>
     <!-- bool* -->
     <pointer-type-def type-id='type-id-112' size-in-bits='64' id='type-id-577'/>
     <!-- const char** -->
@@ -11442,7 +11442,7 @@ 
       <subrange length='128' type-id='type-id-50' id='type-id-155'/>
     </array-type-def>
     <!-- SignalDesc[64] -->
-    <array-type-def dimensions='1' type-id='type-id-520' size-in-bits='552960' id='type-id-519'>
+    <array-type-def dimensions='1' type-id='type-id-521' size-in-bits='552960' id='type-id-517'>
       <!-- <anonymous range>[64] -->
       <subrange length='64' type-id='type-id-50' id='type-id-122'/>
     </array-type-def>
@@ -11496,7 +11496,7 @@ 
     <!-- long long unsigned int[16] -->
     <array-type-def dimensions='1' type-id='type-id-161' size-in-bits='1024' id='type-id-569'>
       <!-- <anonymous range>[16] -->
-      <subrange length='16' type-id='type-id-50' id='type-id-502'/>
+      <subrange length='16' type-id='type-id-50' id='type-id-503'/>
     </array-type-def>
     <!-- unsigned char[6] -->
     <array-type-def dimensions='1' type-id='type-id-17' size-in-bits='48' id='type-id-594'>
@@ -11511,7 +11511,7 @@ 
     <!-- unsigned long int[16] -->
     <array-type-def dimensions='1' type-id='type-id-33' size-in-bits='1024' id='type-id-595'>
       <!-- <anonymous range>[16] -->
-      <subrange length='16' type-id='type-id-50' id='type-id-502'/>
+      <subrange length='16' type-id='type-id-50' id='type-id-503'/>
     </array-type-def>
     <!-- unsigned long int[4] -->
     <array-type-def dimensions='1' type-id='type-id-33' size-in-bits='256' id='type-id-596'>
@@ -11586,14 +11586,14 @@ 
       </member-function>
     </class-decl>
     <!-- struct my_siginfo_t -->
-    <class-decl name='my_siginfo_t' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='32' column='1' id='type-id-564'>
+    <class-decl name='my_siginfo_t' size-in-bits='1024' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='32' column='1' id='type-id-559'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- long long unsigned int my_siginfo_t::opaque[16] -->
         <var-decl name='opaque' type-id='type-id-569' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='34' column='1'/>
       </data-member>
     </class-decl>
     <!-- struct ucontext_t -->
-    <class-decl name='ucontext_t' size-in-bits='7552' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='37' column='1' id='type-id-565'>
+    <class-decl name='ucontext_t' size-in-bits='7552' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='37' column='1' id='type-id-560'>
       <data-member access='public' layout-offset-in-bits='0'>
         <!-- long long unsigned int ucontext_t::opaque[118] -->
         <var-decl name='opaque' type-id='type-id-570' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='39' column='1'/>
@@ -11640,7 +11640,7 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='0'>
         <!-- __tsan::Mutex AtExitContext::mtx_ -->
-        <var-decl name='mtx_' type-id='type-id-512' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='333' column='1'/>
+        <var-decl name='mtx_' type-id='type-id-510' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='333' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='64'>
         <!-- void ()* AtExitContext::stack_[128] -->
@@ -11648,7 +11648,7 @@ 
       </data-member>
       <data-member access='private' layout-offset-in-bits='8256'>
         <!-- void* AtExitContext::args_[128] -->
-        <var-decl name='args_' type-id='type-id-144' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='335' column='1'/>
+        <var-decl name='args_' type-id='type-id-143' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='335' column='1'/>
       </data-member>
       <data-member access='private' layout-offset-in-bits='16448'>
         <!-- bool AtExitContext::is_on_exits_[128] -->
@@ -12958,7 +12958,7 @@ 
     <!-- long int* -->
     <pointer-type-def type-id='type-id-45' size-in-bits='64' id='type-id-1376'/>
     <!-- my_siginfo_t* -->
-    <pointer-type-def type-id='type-id-564' size-in-bits='64' id='type-id-1377'/>
+    <pointer-type-def type-id='type-id-559' size-in-bits='64' id='type-id-1377'/>
     <!-- sanitizer_kernel_iovec* -->
     <pointer-type-def type-id='type-id-613' size-in-bits='64' id='type-id-612'/>
     <!-- sanitizer_kernel_mmsghdr* -->
@@ -13743,7 +13743,7 @@ 
     <!-- namespace __tsan -->
     <namespace-decl name='__tsan'>
       <!-- struct __tsan::SignalDesc -->
-      <class-decl name='SignalDesc' size-in-bits='8640' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='114' column='1' id='type-id-520'>
+      <class-decl name='SignalDesc' size-in-bits='8640' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='114' column='1' id='type-id-521'>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- bool __tsan::SignalDesc::armed -->
           <var-decl name='armed' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='115' column='1'/>
@@ -13754,11 +13754,11 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
           <!-- my_siginfo_t __tsan::SignalDesc::siginfo -->
-          <var-decl name='siginfo' type-id='type-id-564' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='117' column='1'/>
+          <var-decl name='siginfo' type-id='type-id-559' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='117' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='1088'>
           <!-- ucontext_t __tsan::SignalDesc::ctx -->
-          <var-decl name='ctx' type-id='type-id-565' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='118' column='1'/>
+          <var-decl name='ctx' type-id='type-id-560' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='118' column='1'/>
         </data-member>
       </class-decl>
       <!-- unsigned long int __tsan::RoundUp<long unsigned int>(unsigned long int, __sanitizer::u64) -->
@@ -25128,7 +25128,7 @@ 
     <!-- const __sanitizer::InternalMmapVector<__sanitizer::Suppression*>& -->
     <reference-type-def kind='lvalue' type-id='type-id-1442' size-in-bits='64' id='type-id-1435'/>
     <!-- const __tsan::Vector<__tsan::JmpBuf>* -->
-    <pointer-type-def type-id='type-id-504' size-in-bits='64' id='type-id-1242'/>
+    <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-1242'/>
     <!-- const int* -->
     <pointer-type-def type-id='type-id-110' size-in-bits='64' id='type-id-1441'/>
     <!-- __sanitizer::__sanitizer_dirent* (void*) -->
@@ -27268,7 +27268,7 @@ 
       <class-decl name='DynamicAnnContext' size-in-bits='3008' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interface_ann.cc' line='78' column='1' id='type-id-1457'>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- __tsan::Mutex __tsan::DynamicAnnContext::mtx -->
-          <var-decl name='mtx' type-id='type-id-512' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interface_ann.cc' line='79' column='1'/>
+          <var-decl name='mtx' type-id='type-id-510' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interface_ann.cc' line='79' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
           <!-- __tsan::ExpectRace __tsan::DynamicAnnContext::expect -->
@@ -27876,12 +27876,12 @@ 
       <subrange length='53' type-id='type-id-50' id='type-id-136'/>
     </array-type-def>
     <!-- PerClass[53] -->
-    <array-type-def dimensions='1' type-id='type-id-143' size-in-bits='440960' id='type-id-145'>
+    <array-type-def dimensions='1' type-id='type-id-142' size-in-bits='440960' id='type-id-144'>
       <!-- <anonymous range>[53] -->
       <subrange length='53' type-id='type-id-50' id='type-id-136'/>
     </array-type-def>
     <!-- PerClass[53] -->
-    <array-type-def dimensions='1' type-id='type-id-506' size-in-bits='875136' id='type-id-510'>
+    <array-type-def dimensions='1' type-id='type-id-504' size-in-bits='875136' id='type-id-508'>
       <!-- <anonymous range>[53] -->
       <subrange length='53' type-id='type-id-50' id='type-id-136'/>
     </array-type-def>
@@ -27891,24 +27891,24 @@ 
       <subrange length='4' type-id='type-id-50' id='type-id-152'/>
     </array-type-def>
     <!-- atomic_uintptr_t[2048] -->
-    <array-type-def dimensions='1' type-id='type-id-153' size-in-bits='131072' id='type-id-140'>
+    <array-type-def dimensions='1' type-id='type-id-153' size-in-bits='131072' id='type-id-147'>
       <!-- <anonymous range>[2048] -->
       <subrange length='2048' type-id='type-id-50' id='type-id-154'/>
     </array-type-def>
     <!-- MD5Hash[2] -->
-    <array-type-def dimensions='1' type-id='type-id-573' size-in-bits='256' id='type-id-568'>
+    <array-type-def dimensions='1' type-id='type-id-574' size-in-bits='256' id='type-id-568'>
       <!-- <anonymous range>[2] -->
       <subrange length='2' type-id='type-id-50' id='type-id-499'/>
     </array-type-def>
     <!-- Desc[16] -->
     <array-type-def dimensions='1' type-id='type-id-493' size-in-bits='3072' id='type-id-494'>
       <!-- <anonymous range>[16] -->
-      <subrange length='16' type-id='type-id-50' id='type-id-502'/>
+      <subrange length='16' type-id='type-id-50' id='type-id-503'/>
     </array-type-def>
     <!-- Part[1009] -->
-    <array-type-def dimensions='1' type-id='type-id-529' size-in-bits='516608' id='type-id-533'>
+    <array-type-def dimensions='1' type-id='type-id-532' size-in-bits='516608' id='type-id-536'>
       <!-- <anonymous range>[1009] -->
-      <subrange length='1009' type-id='type-id-50' id='type-id-546'/>
+      <subrange length='1009' type-id='type-id-50' id='type-id-549'/>
     </array-type-def>
     <!-- bool -->
     <type-decl name='bool' size-in-bits='8' id='type-id-112'/>
@@ -27920,7 +27920,7 @@ 
       <subrange length='32' type-id='type-id-50' id='type-id-137'/>
     </array-type-def>
     <!-- char[48] -->
-    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='384' id='type-id-531'>
+    <array-type-def dimensions='1' type-id='type-id-5' size-in-bits='384' id='type-id-534'>
       <!-- <anonymous range>[48] -->
       <subrange length='48' type-id='type-id-50' id='type-id-551'/>
     </array-type-def>
@@ -27929,12 +27929,12 @@ 
     <!-- long long unsigned int[11] -->
     <array-type-def dimensions='1' type-id='type-id-161' size-in-bits='704' id='type-id-487'>
       <!-- <anonymous range>[11] -->
-      <subrange length='11' type-id='type-id-50' id='type-id-505'/>
+      <subrange length='11' type-id='type-id-50' id='type-id-519'/>
     </array-type-def>
     <!-- long long unsigned int[23] -->
-    <array-type-def dimensions='1' type-id='type-id-161' size-in-bits='1472' id='type-id-518'>
+    <array-type-def dimensions='1' type-id='type-id-161' size-in-bits='1472' id='type-id-516'>
       <!-- <anonymous range>[23] -->
-      <subrange length='23' type-id='type-id-50' id='type-id-542'/>
+      <subrange length='23' type-id='type-id-50' id='type-id-545'/>
     </array-type-def>
     <!-- long long unsigned int[2] -->
     <array-type-def dimensions='1' type-id='type-id-161' size-in-bits='128' id='type-id-474'>
@@ -27953,7 +27953,7 @@ 
     <!-- unsigned int[16] -->
     <array-type-def dimensions='1' type-id='type-id-211' size-in-bits='512' id='type-id-491'>
       <!-- <anonymous range>[16] -->
-      <subrange length='16' type-id='type-id-50' id='type-id-502'/>
+      <subrange length='16' type-id='type-id-50' id='type-id-503'/>
     </array-type-def>
     <!-- unsigned long int[10] -->
     <array-type-def dimensions='1' type-id='type-id-33' size-in-bits='640' id='type-id-234'>
@@ -27961,12 +27961,12 @@ 
       <subrange length='10' type-id='type-id-50' id='type-id-242'/>
     </array-type-def>
     <!-- void*[128] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='8192' id='type-id-144'>
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='8192' id='type-id-143'>
       <!-- <anonymous range>[128] -->
       <subrange length='128' type-id='type-id-50' id='type-id-155'/>
     </array-type-def>
     <!-- void*[256] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-507'>
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='16384' id='type-id-505'>
       <!-- <anonymous range>[256] -->
       <subrange length='256' type-id='type-id-50' id='type-id-194'/>
     </array-type-def>
@@ -28055,7 +28055,7 @@ 
     <!-- __sanitizer::BlockingMutex* -->
     <pointer-type-def type-id='type-id-229' size-in-bits='64' id='type-id-235'/>
     <!-- __sanitizer::InternalMmapVector<__tsan::FiredSuppression>* -->
-    <pointer-type-def type-id='type-id-516' size-in-bits='64' id='type-id-523'/>
+    <pointer-type-def type-id='type-id-514' size-in-bits='64' id='type-id-523'/>
     <!-- __sanitizer::IntrusiveList<__sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch>* -->
     <pointer-type-def type-id='type-id-129' size-in-bits='64' id='type-id-1491'/>
     <!-- __sanitizer::IntrusiveList<__sanitizer::ThreadContextBase>* -->
@@ -28083,9 +28083,9 @@ 
     <!-- __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >* -->
     <pointer-type-def type-id='type-id-501' size-in-bits='64' id='type-id-1507'/>
     <!-- __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch* -->
-    <pointer-type-def type-id='type-id-509' size-in-bits='64' id='type-id-544'/>
+    <pointer-type-def type-id='type-id-507' size-in-bits='64' id='type-id-526'/>
     <!-- __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch* -->
-    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-141'/>
+    <pointer-type-def type-id='type-id-125' size-in-bits='64' id='type-id-140'/>
     <!-- __sanitizer::SpinMutex* -->
     <pointer-type-def type-id='type-id-113' size-in-bits='64' id='type-id-120'/>
     <!-- __sanitizer::StaticSpinMutex* -->
@@ -28095,11 +28095,11 @@ 
     <!-- __sanitizer::ThreadContextBase* -->
     <pointer-type-def type-id='type-id-437' size-in-bits='64' id='type-id-432'/>
     <!-- __sanitizer::ThreadContextBase* (typedef __sanitizer::u32)* -->
-    <pointer-type-def type-id='type-id-574' size-in-bits='64' id='type-id-571'/>
+    <pointer-type-def type-id='type-id-573' size-in-bits='64' id='type-id-571'/>
     <!-- __sanitizer::ThreadContextBase** -->
     <pointer-type-def type-id='type-id-432' size-in-bits='64' id='type-id-557'/>
     <!-- __sanitizer::ThreadRegistry* -->
-    <pointer-type-def type-id='type-id-521' size-in-bits='64' id='type-id-513'/>
+    <pointer-type-def type-id='type-id-520' size-in-bits='64' id='type-id-511'/>
     <!-- __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>* -->
     <pointer-type-def type-id='type-id-132' size-in-bits='64' id='type-id-1509'/>
     <!-- __sanitizer::u64* -->
@@ -28117,37 +28117,37 @@ 
     <!-- __tsan::FastState* const -->
     <qualified-type-def type-id='type-id-490' const='yes' id='type-id-1511'/>
     <!-- __tsan::FiredSuppression& -->
-    <reference-type-def kind='lvalue' type-id='type-id-547' size-in-bits='64' id='type-id-1512'/>
+    <reference-type-def kind='lvalue' type-id='type-id-546' size-in-bits='64' id='type-id-1512'/>
     <!-- __tsan::FiredSuppression* -->
-    <pointer-type-def type-id='type-id-547' size-in-bits='64' id='type-id-522'/>
+    <pointer-type-def type-id='type-id-546' size-in-bits='64' id='type-id-522'/>
     <!-- __tsan::Flags* -->
-    <pointer-type-def type-id='type-id-517' size-in-bits='64' id='type-id-1513'/>
+    <pointer-type-def type-id='type-id-515' size-in-bits='64' id='type-id-1513'/>
     <!-- __tsan::IgnoreSet* -->
     <pointer-type-def type-id='type-id-471' size-in-bits='64' id='type-id-492'/>
     <!-- __tsan::JmpBuf& -->
-    <reference-type-def kind='lvalue' type-id='type-id-503' size-in-bits='64' id='type-id-1514'/>
+    <reference-type-def kind='lvalue' type-id='type-id-502' size-in-bits='64' id='type-id-1514'/>
     <!-- __tsan::JmpBuf* -->
-    <pointer-type-def type-id='type-id-503' size-in-bits='64' id='type-id-496'/>
+    <pointer-type-def type-id='type-id-502' size-in-bits='64' id='type-id-496'/>
     <!-- __tsan::Mutex* -->
-    <pointer-type-def type-id='type-id-512' size-in-bits='64' id='type-id-525'/>
+    <pointer-type-def type-id='type-id-510' size-in-bits='64' id='type-id-528'/>
     <!-- __tsan::MutexSet* -->
     <pointer-type-def type-id='type-id-475' size-in-bits='64' id='type-id-495'/>
     <!-- __tsan::RacyAddress& -->
-    <reference-type-def kind='lvalue' type-id='type-id-548' size-in-bits='64' id='type-id-1515'/>
+    <reference-type-def kind='lvalue' type-id='type-id-547' size-in-bits='64' id='type-id-1515'/>
     <!-- __tsan::RacyAddress* -->
-    <pointer-type-def type-id='type-id-548' size-in-bits='64' id='type-id-536'/>
+    <pointer-type-def type-id='type-id-547' size-in-bits='64' id='type-id-539'/>
     <!-- __tsan::RacyStacks& -->
-    <reference-type-def kind='lvalue' type-id='type-id-549' size-in-bits='64' id='type-id-1516'/>
+    <reference-type-def kind='lvalue' type-id='type-id-548' size-in-bits='64' id='type-id-1516'/>
     <!-- __tsan::RacyStacks* -->
-    <pointer-type-def type-id='type-id-549' size-in-bits='64' id='type-id-539'/>
+    <pointer-type-def type-id='type-id-548' size-in-bits='64' id='type-id-542'/>
     <!-- __tsan::SignalContext* -->
     <pointer-type-def type-id='type-id-485' size-in-bits='64' id='type-id-482'/>
     <!-- __tsan::SyncTab* -->
-    <pointer-type-def type-id='type-id-511' size-in-bits='64' id='type-id-534'/>
+    <pointer-type-def type-id='type-id-509' size-in-bits='64' id='type-id-537'/>
     <!-- __tsan::SyncTab::Part* -->
-    <pointer-type-def type-id='type-id-529' size-in-bits='64' id='type-id-532'/>
+    <pointer-type-def type-id='type-id-532' size-in-bits='64' id='type-id-535'/>
     <!-- __tsan::SyncVar* -->
-    <pointer-type-def type-id='type-id-550' size-in-bits='64' id='type-id-530'/>
+    <pointer-type-def type-id='type-id-550' size-in-bits='64' id='type-id-533'/>
     <!-- __tsan::ThreadContext* -->
     <pointer-type-def type-id='type-id-486' size-in-bits='64' id='type-id-480'/>
     <!-- __tsan::ThreadState* -->
@@ -28155,9 +28155,9 @@ 
     <!-- __tsan::Vector<__tsan::JmpBuf>* -->
     <pointer-type-def type-id='type-id-478' size-in-bits='64' id='type-id-497'/>
     <!-- __tsan::Vector<__tsan::RacyAddress>* -->
-    <pointer-type-def type-id='type-id-515' size-in-bits='64' id='type-id-537'/>
+    <pointer-type-def type-id='type-id-513' size-in-bits='64' id='type-id-540'/>
     <!-- __tsan::Vector<__tsan::RacyStacks>* -->
-    <pointer-type-def type-id='type-id-514' size-in-bits='64' id='type-id-540'/>
+    <pointer-type-def type-id='type-id-512' size-in-bits='64' id='type-id-543'/>
     <!-- a128* -->
     <pointer-type-def type-id='type-id-1489' size-in-bits='64' id='type-id-1517'/>
     <!-- a16* -->
@@ -28181,11 +28181,11 @@ 
     <!-- const __sanitizer::AllocatorStats* -->
     <pointer-type-def type-id='type-id-1524' size-in-bits='64' id='type-id-1525'/>
     <!-- const __sanitizer::InternalMmapVector<__tsan::FiredSuppression> -->
-    <qualified-type-def type-id='type-id-516' const='yes' id='type-id-559'/>
+    <qualified-type-def type-id='type-id-514' const='yes' id='type-id-561'/>
     <!-- const __sanitizer::InternalMmapVector<__tsan::FiredSuppression>& -->
-    <reference-type-def kind='lvalue' type-id='type-id-559' size-in-bits='64' id='type-id-524'/>
+    <reference-type-def kind='lvalue' type-id='type-id-561' size-in-bits='64' id='type-id-524'/>
     <!-- const __sanitizer::InternalMmapVector<__tsan::FiredSuppression>* -->
-    <pointer-type-def type-id='type-id-559' size-in-bits='64' id='type-id-1526'/>
+    <pointer-type-def type-id='type-id-561' size-in-bits='64' id='type-id-1526'/>
     <!-- const __sanitizer::IntrusiveList<__sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch> -->
     <qualified-type-def type-id='type-id-129' const='yes' id='type-id-1527'/>
     <!-- const __sanitizer::IntrusiveList<__sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch>* -->
@@ -28221,7 +28221,7 @@ 
     <!-- const __tsan::FastState* const -->
     <qualified-type-def type-id='type-id-1534' const='yes' id='type-id-1535'/>
     <!-- const __tsan::FiredSuppression -->
-    <qualified-type-def type-id='type-id-547' const='yes' id='type-id-1536'/>
+    <qualified-type-def type-id='type-id-546' const='yes' id='type-id-1536'/>
     <!-- const __tsan::FiredSuppression& -->
     <reference-type-def kind='lvalue' type-id='type-id-1536' size-in-bits='64' id='type-id-1537'/>
     <!-- const __tsan::FiredSuppression* -->
@@ -28231,59 +28231,59 @@ 
     <!-- const __tsan::IgnoreSet* -->
     <pointer-type-def type-id='type-id-582' size-in-bits='64' id='type-id-580'/>
     <!-- const __tsan::JmpBuf -->
-    <qualified-type-def type-id='type-id-503' const='yes' id='type-id-1539'/>
+    <qualified-type-def type-id='type-id-502' const='yes' id='type-id-1539'/>
     <!-- const __tsan::JmpBuf& -->
     <reference-type-def kind='lvalue' type-id='type-id-1539' size-in-bits='64' id='type-id-1540'/>
     <!-- const __tsan::MD5Hash -->
-    <qualified-type-def type-id='type-id-573' const='yes' id='type-id-1541'/>
+    <qualified-type-def type-id='type-id-574' const='yes' id='type-id-1541'/>
     <!-- const __tsan::MD5Hash& -->
     <reference-type-def kind='lvalue' type-id='type-id-1541' size-in-bits='64' id='type-id-1542'/>
     <!-- const __tsan::MD5Hash* -->
     <pointer-type-def type-id='type-id-1541' size-in-bits='64' id='type-id-1543'/>
     <!-- const __tsan::Mutex -->
-    <qualified-type-def type-id='type-id-512' const='yes' id='type-id-560'/>
+    <qualified-type-def type-id='type-id-510' const='yes' id='type-id-562'/>
     <!-- const __tsan::Mutex& -->
-    <reference-type-def kind='lvalue' type-id='type-id-560' size-in-bits='64' id='type-id-528'/>
+    <reference-type-def kind='lvalue' type-id='type-id-562' size-in-bits='64' id='type-id-531'/>
     <!-- const __tsan::MutexSet -->
     <qualified-type-def type-id='type-id-475' const='yes' id='type-id-1544'/>
     <!-- const __tsan::MutexSet* -->
     <pointer-type-def type-id='type-id-1544' size-in-bits='64' id='type-id-1545'/>
     <!-- const __tsan::RacyAddress -->
-    <qualified-type-def type-id='type-id-548' const='yes' id='type-id-1546'/>
+    <qualified-type-def type-id='type-id-547' const='yes' id='type-id-1546'/>
     <!-- const __tsan::RacyAddress& -->
     <reference-type-def kind='lvalue' type-id='type-id-1546' size-in-bits='64' id='type-id-1547'/>
     <!-- const __tsan::RacyStacks -->
-    <qualified-type-def type-id='type-id-549' const='yes' id='type-id-1548'/>
+    <qualified-type-def type-id='type-id-548' const='yes' id='type-id-1548'/>
     <!-- const __tsan::RacyStacks& -->
     <reference-type-def kind='lvalue' type-id='type-id-1548' size-in-bits='64' id='type-id-1549'/>
     <!-- const __tsan::RacyStacks* -->
     <pointer-type-def type-id='type-id-1548' size-in-bits='64' id='type-id-1550'/>
     <!-- const __tsan::SyncTab -->
-    <qualified-type-def type-id='type-id-511' const='yes' id='type-id-561'/>
+    <qualified-type-def type-id='type-id-509' const='yes' id='type-id-563'/>
     <!-- const __tsan::SyncTab& -->
-    <reference-type-def kind='lvalue' type-id='type-id-561' size-in-bits='64' id='type-id-535'/>
+    <reference-type-def kind='lvalue' type-id='type-id-563' size-in-bits='64' id='type-id-538'/>
     <!-- const __tsan::SyncVar -->
     <qualified-type-def type-id='type-id-550' const='yes' id='type-id-1551'/>
     <!-- const __tsan::SyncVar* -->
     <pointer-type-def type-id='type-id-1551' size-in-bits='64' id='type-id-1552'/>
     <!-- const __tsan::Vector<__tsan::JmpBuf> -->
-    <qualified-type-def type-id='type-id-478' const='yes' id='type-id-504'/>
+    <qualified-type-def type-id='type-id-478' const='yes' id='type-id-518'/>
     <!-- const __tsan::Vector<__tsan::JmpBuf>& -->
-    <reference-type-def kind='lvalue' type-id='type-id-504' size-in-bits='64' id='type-id-498'/>
+    <reference-type-def kind='lvalue' type-id='type-id-518' size-in-bits='64' id='type-id-498'/>
     <!-- const __tsan::Vector<__tsan::JmpBuf>* -->
-    <pointer-type-def type-id='type-id-504' size-in-bits='64' id='type-id-1242'/>
+    <pointer-type-def type-id='type-id-518' size-in-bits='64' id='type-id-1242'/>
     <!-- const __tsan::Vector<__tsan::RacyAddress> -->
-    <qualified-type-def type-id='type-id-515' const='yes' id='type-id-562'/>
+    <qualified-type-def type-id='type-id-513' const='yes' id='type-id-564'/>
     <!-- const __tsan::Vector<__tsan::RacyAddress>& -->
-    <reference-type-def kind='lvalue' type-id='type-id-562' size-in-bits='64' id='type-id-538'/>
+    <reference-type-def kind='lvalue' type-id='type-id-564' size-in-bits='64' id='type-id-541'/>
     <!-- const __tsan::Vector<__tsan::RacyAddress>* -->
-    <pointer-type-def type-id='type-id-562' size-in-bits='64' id='type-id-1553'/>
+    <pointer-type-def type-id='type-id-564' size-in-bits='64' id='type-id-1553'/>
     <!-- const __tsan::Vector<__tsan::RacyStacks> -->
-    <qualified-type-def type-id='type-id-514' const='yes' id='type-id-563'/>
+    <qualified-type-def type-id='type-id-512' const='yes' id='type-id-565'/>
     <!-- const __tsan::Vector<__tsan::RacyStacks>& -->
-    <reference-type-def kind='lvalue' type-id='type-id-563' size-in-bits='64' id='type-id-541'/>
+    <reference-type-def kind='lvalue' type-id='type-id-565' size-in-bits='64' id='type-id-544'/>
     <!-- const __tsan::Vector<__tsan::RacyStacks>* -->
-    <pointer-type-def type-id='type-id-563' size-in-bits='64' id='type-id-1554'/>
+    <pointer-type-def type-id='type-id-565' size-in-bits='64' id='type-id-1554'/>
     <!-- const char -->
     <qualified-type-def type-id='type-id-5' const='yes' id='type-id-3'/>
     <!-- const char* -->
@@ -28349,7 +28349,7 @@ 
     <!-- namespace __sanitizer -->
     <namespace-decl name='__sanitizer'>
       <!-- struct __sanitizer::CommonFlags -->
-      <class-decl name='CommonFlags' size-in-bits='384' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='23' column='1' id='type-id-545'>
+      <class-decl name='CommonFlags' size-in-bits='384' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='23' column='1' id='type-id-527'>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- bool __sanitizer::CommonFlags::symbolize -->
           <var-decl name='symbolize' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_flags.h' line='25' column='1'/>
@@ -28580,7 +28580,7 @@ 
         </data-member>
       </class-decl>
       <!-- class __sanitizer::ThreadRegistry -->
-      <class-decl name='ThreadRegistry' size-in-bits='1600' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_thread_registry.h' line='73' column='1' id='type-id-521'>
+      <class-decl name='ThreadRegistry' size-in-bits='1600' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_thread_registry.h' line='73' column='1' id='type-id-520'>
         <member-type access='public'>
           <!-- typedef void (__sanitizer::ThreadContextBase*, void*)* __sanitizer::ThreadRegistry::ThreadCallback -->
           <typedef-decl name='ThreadCallback' type-id='type-id-553' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_thread_registry.h' line='94' column='1' id='type-id-552'/>
@@ -28645,7 +28645,7 @@ 
           <!-- __sanitizer::ThreadRegistry::ThreadRegistry(__sanitizer::ThreadContextFactory, __sanitizer::u32, __sanitizer::u32) -->
           <function-decl name='ThreadRegistry' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_thread_registry.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__sanitizer::ThreadRegistry*' -->
-            <parameter type-id='type-id-513' is-artificial='yes'/>
+            <parameter type-id='type-id-511' is-artificial='yes'/>
             <!-- parameter of type 'typedef __sanitizer::ThreadContextFactory' -->
             <parameter type-id='type-id-558'/>
             <!-- parameter of type 'typedef __sanitizer::u32' -->
@@ -28660,7 +28660,7 @@ 
           <!-- __sanitizer::ThreadRegistry::ThreadRegistry(__sanitizer::ThreadContextFactory, __sanitizer::u32, __sanitizer::u32) -->
           <function-decl name='ThreadRegistry' mangled-name='_ZN11__sanitizer14ThreadRegistryC2EPFPNS_17ThreadContextBaseEjEjj' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_thread_registry.h' line='77' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__sanitizer::ThreadRegistry*' -->
-            <parameter type-id='type-id-513' is-artificial='yes'/>
+            <parameter type-id='type-id-511' is-artificial='yes'/>
             <!-- parameter of type 'typedef __sanitizer::ThreadContextFactory' -->
             <parameter type-id='type-id-558'/>
             <!-- parameter of type 'typedef __sanitizer::u32' -->
@@ -28712,7 +28712,7 @@ 
       <class-decl name='TwoLevelByteMap&lt;2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback&gt;' size-in-bits='131136' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='594' column='1' id='type-id-132'>
         <data-member access='private' layout-offset-in-bits='0'>
           <!-- __sanitizer::atomic_uintptr_t __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>::map1_[2048] -->
-          <var-decl name='map1_' type-id='type-id-140' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='648' column='1'/>
+          <var-decl name='map1_' type-id='type-id-147' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='648' column='1'/>
         </data-member>
         <data-member access='private' layout-offset-in-bits='131072'>
           <!-- __sanitizer::StaticSpinMutex __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>::mu_ -->
@@ -28805,13 +28805,13 @@ 
         </member-function>
       </class-decl>
       <!-- class __sanitizer::SizeClassMap<17ul, 64ul, 14ul> -->
-      <class-decl name='SizeClassMap&lt;17ul, 64ul, 14ul&gt;' size-in-bits='8' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='89' column='1' id='type-id-146'>
+      <class-decl name='SizeClassMap&lt;17ul, 64ul, 14ul&gt;' size-in-bits='8' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='89' column='1' id='type-id-145'>
         <member-type access='public'>
           <!-- struct __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch -->
           <class-decl name='TransferBatch' size-in-bits='4224' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='103' column='1' id='type-id-125'>
             <data-member access='public' layout-offset-in-bits='0'>
               <!-- __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch* __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch::next -->
-              <var-decl name='next' type-id='type-id-141' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='104' column='1'/>
+              <var-decl name='next' type-id='type-id-140' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='104' column='1'/>
             </data-member>
             <data-member access='public' layout-offset-in-bits='64'>
               <!-- __sanitizer::uptr __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch::count -->
@@ -28819,7 +28819,7 @@ 
             </data-member>
             <data-member access='public' layout-offset-in-bits='128'>
               <!-- void* __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch::batch[64] -->
-              <var-decl name='batch' type-id='type-id-147' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='106' column='1'/>
+              <var-decl name='batch' type-id='type-id-146' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='106' column='1'/>
             </data-member>
           </class-decl>
         </member-type>
@@ -28946,11 +28946,11 @@ 
       <class-decl name='SizeClassAllocatorLocalCache&lt;__sanitizer::SizeClassAllocator32&lt;0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap&lt;17ul, 64ul, 14ul&gt;, 24ul, __sanitizer::TwoLevelByteMap&lt;2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback&gt;, __sanitizer::NoOpMapUnmapCallback&gt; &gt;' size-in-bits='441344' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='889' column='1' id='type-id-127'>
         <member-type access='public'>
           <!-- typedef __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >::Batch -->
-          <typedef-decl name='Batch' type-id='type-id-125' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='941' column='1' id='type-id-142'/>
+          <typedef-decl name='Batch' type-id='type-id-125' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='941' column='1' id='type-id-141'/>
         </member-type>
         <member-type access='public'>
           <!-- struct __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >::PerClass -->
-          <class-decl name='PerClass' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='942' column='1' id='type-id-143'>
+          <class-decl name='PerClass' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='942' column='1' id='type-id-142'>
             <data-member access='public' layout-offset-in-bits='0'>
               <!-- __sanitizer::uptr __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >::PerClass::count -->
               <var-decl name='count' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='943' column='1'/>
@@ -28961,7 +28961,7 @@ 
             </data-member>
             <data-member access='public' layout-offset-in-bits='128'>
               <!-- void* __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >::PerClass::batch[128] -->
-              <var-decl name='batch' type-id='type-id-144' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='945' column='1'/>
+              <var-decl name='batch' type-id='type-id-143' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='945' column='1'/>
             </data-member>
           </class-decl>
         </member-type>
@@ -28971,7 +28971,7 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >::PerClass __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >::per_class_[53] -->
-          <var-decl name='per_class_' type-id='type-id-145' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='947' column='1'/>
+          <var-decl name='per_class_' type-id='type-id-144' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='947' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='440960'>
           <!-- __sanitizer::AllocatorStats __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >::stats_ -->
@@ -28988,11 +28988,11 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
           <!-- __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch* __sanitizer::IntrusiveList<__sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch>::first_ -->
-          <var-decl name='first_' type-id='type-id-141' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='116' column='1'/>
+          <var-decl name='first_' type-id='type-id-140' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='116' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
           <!-- __sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch* __sanitizer::IntrusiveList<__sanitizer::SizeClassMap<17ul, 64ul, 14ul>::TransferBatch>::last_ -->
-          <var-decl name='last_' type-id='type-id-141' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='117' column='1'/>
+          <var-decl name='last_' type-id='type-id-140' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_list.h' line='117' column='1'/>
         </data-member>
       </class-decl>
       <!-- typedef __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> > __sanitizer::InternalAllocatorCache -->
@@ -29012,7 +29012,7 @@ 
       <class-decl name='SizeClassAllocatorLocalCache&lt;__sanitizer::SizeClassAllocator64&lt;137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap&lt;17ul, 128ul, 16ul&gt;, __tsan::MapUnmapCallback&gt; &gt;' size-in-bits='875520' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='889' column='1' id='type-id-501'>
         <member-type access='public'>
           <!-- struct __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::PerClass -->
-          <class-decl name='PerClass' size-in-bits='16512' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='942' column='1' id='type-id-506'>
+          <class-decl name='PerClass' size-in-bits='16512' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='942' column='1' id='type-id-504'>
             <data-member access='public' layout-offset-in-bits='0'>
               <!-- __sanitizer::uptr __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::PerClass::count -->
               <var-decl name='count' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='943' column='1'/>
@@ -29023,13 +29023,13 @@ 
             </data-member>
             <data-member access='public' layout-offset-in-bits='128'>
               <!-- void* __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::PerClass::batch[256] -->
-              <var-decl name='batch' type-id='type-id-507' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='945' column='1'/>
+              <var-decl name='batch' type-id='type-id-505' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='945' column='1'/>
             </data-member>
           </class-decl>
         </member-type>
         <member-type access='public'>
           <!-- typedef __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::Batch -->
-          <typedef-decl name='Batch' type-id='type-id-509' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='941' column='1' id='type-id-508'/>
+          <typedef-decl name='Batch' type-id='type-id-507' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='941' column='1' id='type-id-506'/>
         </member-type>
         <data-member access='public' static='yes'>
           <!-- static const __sanitizer::uptr __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::kNumClasses -->
@@ -29037,7 +29037,7 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::PerClass __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::per_class_[53] -->
-          <var-decl name='per_class_' type-id='type-id-510' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='947' column='1'/>
+          <var-decl name='per_class_' type-id='type-id-508' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='947' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='875136'>
           <!-- __sanitizer::AllocatorStats __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> >::stats_ -->
@@ -29045,7 +29045,7 @@ 
         </data-member>
       </class-decl>
       <!-- class __sanitizer::InternalMmapVector<__tsan::FiredSuppression> -->
-      <class-decl name='InternalMmapVector&lt;__tsan::FiredSuppression&gt;' size-in-bits='192' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common.h' line='320' column='1' id='type-id-516'>
+      <class-decl name='InternalMmapVector&lt;__tsan::FiredSuppression&gt;' size-in-bits='192' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common.h' line='320' column='1' id='type-id-514'>
         <data-member access='private' layout-offset-in-bits='0'>
           <!-- __tsan::FiredSuppression* __sanitizer::InternalMmapVector<__tsan::FiredSuppression>::data_ -->
           <var-decl name='data_' type-id='type-id-522' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_common.h' line='382' column='1'/>
@@ -29095,13 +29095,13 @@ 
       <!-- typedef __sanitizer::ThreadContextBase* (typedef __sanitizer::u32)* __sanitizer::ThreadContextFactory -->
       <typedef-decl name='ThreadContextFactory' type-id='type-id-571' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_thread_registry.h' line='71' column='1' id='type-id-558'/>
       <!-- class __sanitizer::SizeClassMap<17ul, 128ul, 16ul> -->
-      <class-decl name='SizeClassMap&lt;17ul, 128ul, 16ul&gt;' size-in-bits='8' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='89' column='1' id='type-id-543'>
+      <class-decl name='SizeClassMap&lt;17ul, 128ul, 16ul&gt;' size-in-bits='8' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='89' column='1' id='type-id-525'>
         <member-type access='public'>
           <!-- struct __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch -->
-          <class-decl name='TransferBatch' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='103' column='1' id='type-id-509'>
+          <class-decl name='TransferBatch' size-in-bits='8320' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='103' column='1' id='type-id-507'>
             <data-member access='public' layout-offset-in-bits='0'>
               <!-- __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch* __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch::next -->
-              <var-decl name='next' type-id='type-id-544' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='104' column='1'/>
+              <var-decl name='next' type-id='type-id-526' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='104' column='1'/>
             </data-member>
             <data-member access='public' layout-offset-in-bits='64'>
               <!-- __sanitizer::uptr __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch::count -->
@@ -29109,7 +29109,7 @@ 
             </data-member>
             <data-member access='public' layout-offset-in-bits='128'>
               <!-- void* __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch::batch[128] -->
-              <var-decl name='batch' type-id='type-id-144' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='106' column='1'/>
+              <var-decl name='batch' type-id='type-id-143' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='106' column='1'/>
             </data-member>
           </class-decl>
         </member-type>
@@ -29162,7 +29162,7 @@ 
       <class-decl name='SizeClassAllocator64&lt;137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap&lt;17ul, 128ul, 16ul&gt;, __tsan::MapUnmapCallback&gt;' size-in-bits='8' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='305' column='1' id='type-id-1498'>
         <member-type access='public'>
           <!-- typedef __sanitizer::SizeClassMap<17ul, 128ul, 16ul>::TransferBatch __sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback>::Batch -->
-          <typedef-decl name='Batch' type-id='type-id-509' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='307' column='1' id='type-id-1502'/>
+          <typedef-decl name='Batch' type-id='type-id-507' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_allocator.h' line='307' column='1' id='type-id-1502'/>
         </member-type>
         <member-type access='public'>
           <!-- typedef __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> > __sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback>::AllocatorCache -->
@@ -29360,16 +29360,16 @@ 
         </member-function>
       </class-decl>
       <!-- struct __tsan::MD5Hash -->
-      <class-decl name='MD5Hash' size-in-bits='128' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_defs.h' line='147' column='1' id='type-id-573'>
+      <class-decl name='MD5Hash' size-in-bits='128' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_defs.h' line='147' column='1' id='type-id-574'>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- long long unsigned int __tsan::MD5Hash::hash[2] -->
           <var-decl name='hash' type-id='type-id-474' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_defs.h' line='148' column='1'/>
         </data-member>
       </class-decl>
       <!-- struct __tsan::Flags -->
-      <class-decl name='Flags' size-in-bits='960' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='25' column='1' id='type-id-517'>
+      <class-decl name='Flags' size-in-bits='960' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='25' column='1' id='type-id-515'>
         <!-- struct __sanitizer::CommonFlags -->
-        <base-class access='public' layout-offset-in-bits='0' type-id='type-id-545'/>
+        <base-class access='public' layout-offset-in-bits='0' type-id='type-id-527'/>
         <data-member access='public' layout-offset-in-bits='384'>
           <!-- bool __tsan::Flags::enable_annotations -->
           <var-decl name='enable_annotations' type-id='type-id-112' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_flags.h' line='27' column='1'/>
@@ -29504,7 +29504,7 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- __tsan::Mutex __tsan::SyncVar::mtx -->
-          <var-decl name='mtx' type-id='type-id-512' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='55' column='1'/>
+          <var-decl name='mtx' type-id='type-id-510' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='55' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
           <!-- __sanitizer::uptr __tsan::SyncVar::addr -->
@@ -29556,13 +29556,13 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='896'>
           <!-- __tsan::SyncVar* __tsan::SyncVar::next -->
-          <var-decl name='next' type-id='type-id-530' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='68' column='1'/>
+          <var-decl name='next' type-id='type-id-533' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='68' column='1'/>
         </data-member>
         <member-function access='public' constructor='yes'>
           <!-- __tsan::SyncVar::SyncVar(__sanitizer::uptr, __sanitizer::u64) -->
           <function-decl name='SyncVar' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::SyncVar*' -->
-            <parameter type-id='type-id-530' is-artificial='yes'/>
+            <parameter type-id='type-id-533' is-artificial='yes'/>
             <!-- parameter of type 'typedef __sanitizer::uptr' -->
             <parameter type-id='type-id-106'/>
             <!-- parameter of type 'typedef __sanitizer::u64' -->
@@ -29575,7 +29575,7 @@ 
           <!-- __tsan::SyncVar::SyncVar(__sanitizer::uptr, __sanitizer::u64) -->
           <function-decl name='SyncVar' mangled-name='_ZN6__tsan7SyncVarC2Emy' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='51' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::SyncVar*' -->
-            <parameter type-id='type-id-530' is-artificial='yes'/>
+            <parameter type-id='type-id-533' is-artificial='yes'/>
             <!-- parameter of type 'typedef __sanitizer::uptr' -->
             <parameter type-id='type-id-106'/>
             <!-- parameter of type 'typedef __sanitizer::u64' -->
@@ -29785,27 +29785,27 @@ 
       <!-- typedef __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator64<137438953472000ul, 1099511627776ul, 16ul, __sanitizer::SizeClassMap<17ul, 128ul, 16ul>, __tsan::MapUnmapCallback> > __tsan::AllocatorCache -->
       <typedef-decl name='AllocatorCache' type-id='type-id-501' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='133' column='1' id='type-id-476'/>
       <!-- class __tsan::SyncTab -->
-      <class-decl name='SyncTab' size-in-bits='516672' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='85' column='1' id='type-id-511'>
+      <class-decl name='SyncTab' size-in-bits='516672' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='85' column='1' id='type-id-509'>
         <member-type access='private'>
           <!-- struct __tsan::SyncTab::Part -->
-          <class-decl name='Part' size-in-bits='512' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='102' column='1' id='type-id-529'>
+          <class-decl name='Part' size-in-bits='512' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='102' column='1' id='type-id-532'>
             <data-member access='public' layout-offset-in-bits='0'>
               <!-- __tsan::Mutex __tsan::SyncTab::Part::mtx -->
-              <var-decl name='mtx' type-id='type-id-512' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='103' column='1'/>
+              <var-decl name='mtx' type-id='type-id-510' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='103' column='1'/>
             </data-member>
             <data-member access='public' layout-offset-in-bits='64'>
               <!-- __tsan::SyncVar* __tsan::SyncTab::Part::val -->
-              <var-decl name='val' type-id='type-id-530' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='104' column='1'/>
+              <var-decl name='val' type-id='type-id-533' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='104' column='1'/>
             </data-member>
             <data-member access='public' layout-offset-in-bits='128'>
               <!-- char __tsan::SyncTab::Part::pad[48] -->
-              <var-decl name='pad' type-id='type-id-531' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='105' column='1'/>
+              <var-decl name='pad' type-id='type-id-534' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='105' column='1'/>
             </data-member>
             <member-function access='public' constructor='yes'>
               <!-- __tsan::SyncTab::Part::Part() -->
               <function-decl name='Part' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64'>
                 <!-- implicit parameter of type '__tsan::SyncTab::Part*' -->
-                <parameter type-id='type-id-532' is-artificial='yes'/>
+                <parameter type-id='type-id-535' is-artificial='yes'/>
                 <!-- void -->
                 <return type-id='type-id-4'/>
               </function-decl>
@@ -29814,7 +29814,7 @@ 
               <!-- __tsan::SyncTab::Part::Part() -->
               <function-decl name='Part' mangled-name='_ZN6__tsan7SyncTab4PartC2Ev' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='106' column='1' visibility='default' binding='global' size-in-bits='64'>
                 <!-- implicit parameter of type '__tsan::SyncTab::Part*' -->
-                <parameter type-id='type-id-532' is-artificial='yes'/>
+                <parameter type-id='type-id-535' is-artificial='yes'/>
                 <!-- void -->
                 <return type-id='type-id-4'/>
               </function-decl>
@@ -29827,7 +29827,7 @@ 
         </data-member>
         <data-member access='private' layout-offset-in-bits='0'>
           <!-- __tsan::SyncTab::Part __tsan::SyncTab::tab_[1009] -->
-          <var-decl name='tab_' type-id='type-id-533' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='111' column='1'/>
+          <var-decl name='tab_' type-id='type-id-536' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='111' column='1'/>
         </data-member>
         <data-member access='private' layout-offset-in-bits='516608'>
           <!-- __sanitizer::atomic_uint64_t __tsan::SyncTab::uid_gen_ -->
@@ -29837,7 +29837,7 @@ 
           <!-- __tsan::SyncTab::SyncTab() -->
           <function-decl name='SyncTab' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::SyncTab*' -->
-            <parameter type-id='type-id-534' is-artificial='yes'/>
+            <parameter type-id='type-id-537' is-artificial='yes'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
@@ -29846,7 +29846,7 @@ 
           <!-- __tsan::SyncTab::~SyncTab(int) -->
           <function-decl name='~SyncTab' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::SyncTab*' -->
-            <parameter type-id='type-id-534' is-artificial='yes'/>
+            <parameter type-id='type-id-537' is-artificial='yes'/>
             <!-- artificial parameter of type 'int' -->
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <!-- void -->
@@ -29857,9 +29857,9 @@ 
           <!-- __tsan::SyncTab::SyncTab(const __tsan::SyncTab&) -->
           <function-decl name='SyncTab' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='119' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::SyncTab*' -->
-            <parameter type-id='type-id-534' is-artificial='yes'/>
+            <parameter type-id='type-id-537' is-artificial='yes'/>
             <!-- parameter of type 'const __tsan::SyncTab&' -->
-            <parameter type-id='type-id-535'/>
+            <parameter type-id='type-id-538'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
@@ -29868,7 +29868,7 @@ 
           <!-- __tsan::SyncTab::SyncTab() -->
           <function-decl name='SyncTab' mangled-name='_ZN6__tsan7SyncTabC2Ev' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='87' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::SyncTab*' -->
-            <parameter type-id='type-id-534' is-artificial='yes'/>
+            <parameter type-id='type-id-537' is-artificial='yes'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
@@ -29877,7 +29877,7 @@ 
           <!-- __tsan::SyncTab::~SyncTab(int) -->
           <function-decl name='~SyncTab' mangled-name='_ZN6__tsan7SyncTabD2Ev' filepath='../../.././libsanitizer/tsan/tsan_sync.h' line='88' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::SyncTab*' -->
-            <parameter type-id='type-id-534' is-artificial='yes'/>
+            <parameter type-id='type-id-537' is-artificial='yes'/>
             <!-- artificial parameter of type 'int' -->
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <!-- void -->
@@ -29893,11 +29893,11 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
           <!-- __tsan::SyncTab __tsan::Context::synctab -->
-          <var-decl name='synctab' type-id='type-id-511' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='531' column='1'/>
+          <var-decl name='synctab' type-id='type-id-509' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='531' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='516736'>
           <!-- __tsan::Mutex __tsan::Context::report_mtx -->
-          <var-decl name='report_mtx' type-id='type-id-512' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='533' column='1'/>
+          <var-decl name='report_mtx' type-id='type-id-510' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='533' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='516800'>
           <!-- int __tsan::Context::nreported -->
@@ -29913,23 +29913,23 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='516928'>
           <!-- __sanitizer::ThreadRegistry* __tsan::Context::thread_registry -->
-          <var-decl name='thread_registry' type-id='type-id-513' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='538' column='1'/>
+          <var-decl name='thread_registry' type-id='type-id-511' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='538' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='516992'>
           <!-- __tsan::Vector<__tsan::RacyStacks> __tsan::Context::racy_stacks -->
-          <var-decl name='racy_stacks' type-id='type-id-514' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='540' column='1'/>
+          <var-decl name='racy_stacks' type-id='type-id-512' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='540' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='517248'>
           <!-- __tsan::Vector<__tsan::RacyAddress> __tsan::Context::racy_addresses -->
-          <var-decl name='racy_addresses' type-id='type-id-515' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='541' column='1'/>
+          <var-decl name='racy_addresses' type-id='type-id-513' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='541' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='517504'>
           <!-- __sanitizer::InternalMmapVector<__tsan::FiredSuppression> __tsan::Context::fired_suppressions -->
-          <var-decl name='fired_suppressions' type-id='type-id-516' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='543' column='1'/>
+          <var-decl name='fired_suppressions' type-id='type-id-514' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='543' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='517696'>
           <!-- __tsan::Flags __tsan::Context::flags -->
-          <var-decl name='flags' type-id='type-id-517' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='545' column='1'/>
+          <var-decl name='flags' type-id='type-id-515' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='545' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='518656'>
           <!-- long long unsigned int __tsan::Context::stat[438] -->
@@ -29937,11 +29937,11 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='546688'>
           <!-- long long unsigned int __tsan::Context::int_alloc_cnt[23] -->
-          <var-decl name='int_alloc_cnt' type-id='type-id-518' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='548' column='1'/>
+          <var-decl name='int_alloc_cnt' type-id='type-id-516' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='548' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='548160'>
           <!-- long long unsigned int __tsan::Context::int_alloc_siz[23] -->
-          <var-decl name='int_alloc_siz' type-id='type-id-518' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='549' column='1'/>
+          <var-decl name='int_alloc_siz' type-id='type-id-516' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='549' column='1'/>
         </data-member>
         <member-function access='public' constructor='yes'>
           <!-- __tsan::Context::Context() -->
@@ -30010,7 +30010,7 @@ 
         </member-function>
       </class-decl>
       <!-- class __tsan::Mutex -->
-      <class-decl name='Mutex' size-in-bits='64' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='37' column='1' id='type-id-512'>
+      <class-decl name='Mutex' size-in-bits='64' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='37' column='1' id='type-id-510'>
         <data-member access='private' layout-offset-in-bits='0'>
           <!-- __sanitizer::atomic_uintptr_t __tsan::Mutex::state_ -->
           <var-decl name='state_' type-id='type-id-153' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='51' column='1'/>
@@ -30019,11 +30019,11 @@ 
           <!-- __tsan::Mutex::Mutex(__tsan::MutexType, __tsan::StatType) -->
           <function-decl name='Mutex' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Mutex*' -->
-            <parameter type-id='type-id-525' is-artificial='yes'/>
+            <parameter type-id='type-id-528' is-artificial='yes'/>
             <!-- parameter of type 'enum __tsan::MutexType' -->
-            <parameter type-id='type-id-526'/>
+            <parameter type-id='type-id-529'/>
             <!-- parameter of type 'enum __tsan::StatType' -->
-            <parameter type-id='type-id-527'/>
+            <parameter type-id='type-id-530'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
@@ -30032,7 +30032,7 @@ 
           <!-- __tsan::Mutex::~Mutex(int) -->
           <function-decl name='~Mutex' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='40' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Mutex*' -->
-            <parameter type-id='type-id-525' is-artificial='yes'/>
+            <parameter type-id='type-id-528' is-artificial='yes'/>
             <!-- artificial parameter of type 'int' -->
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <!-- void -->
@@ -30043,9 +30043,9 @@ 
           <!-- __tsan::Mutex::Mutex(const __tsan::Mutex&) -->
           <function-decl name='Mutex' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='59' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Mutex*' -->
-            <parameter type-id='type-id-525' is-artificial='yes'/>
+            <parameter type-id='type-id-528' is-artificial='yes'/>
             <!-- parameter of type 'const __tsan::Mutex&' -->
-            <parameter type-id='type-id-528'/>
+            <parameter type-id='type-id-531'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
@@ -30054,11 +30054,11 @@ 
           <!-- __tsan::Mutex::Mutex(__tsan::MutexType, __tsan::StatType) -->
           <function-decl name='Mutex' mangled-name='_ZN6__tsan5MutexC2ENS_9MutexTypeENS_8StatTypeE' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='39' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Mutex*' -->
-            <parameter type-id='type-id-525' is-artificial='yes'/>
+            <parameter type-id='type-id-528' is-artificial='yes'/>
             <!-- parameter of type 'enum __tsan::MutexType' -->
-            <parameter type-id='type-id-526'/>
+            <parameter type-id='type-id-529'/>
             <!-- parameter of type 'enum __tsan::StatType' -->
-            <parameter type-id='type-id-527'/>
+            <parameter type-id='type-id-530'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
@@ -30067,7 +30067,7 @@ 
           <!-- __tsan::Mutex::~Mutex(int) -->
           <function-decl name='~Mutex' mangled-name='_ZN6__tsan5MutexD2Ev' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='40' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Mutex*' -->
-            <parameter type-id='type-id-525' is-artificial='yes'/>
+            <parameter type-id='type-id-528' is-artificial='yes'/>
             <!-- artificial parameter of type 'int' -->
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <!-- void -->
@@ -30205,28 +30205,28 @@ 
         </member-function>
       </class-decl>
       <!-- class __tsan::Vector<__tsan::RacyStacks> -->
-      <class-decl name='Vector&lt;__tsan::RacyStacks&gt;' size-in-bits='256' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='23' column='1' id='type-id-514'>
+      <class-decl name='Vector&lt;__tsan::RacyStacks&gt;' size-in-bits='256' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='23' column='1' id='type-id-512'>
         <data-member access='private' layout-offset-in-bits='0'>
           <!-- const __tsan::MBlockType __tsan::Vector<__tsan::RacyStacks>::typ_ -->
           <var-decl name='typ_' type-id='type-id-452' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='80' column='1'/>
         </data-member>
         <data-member access='private' layout-offset-in-bits='64'>
           <!-- __tsan::RacyStacks* __tsan::Vector<__tsan::RacyStacks>::begin_ -->
-          <var-decl name='begin_' type-id='type-id-539' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='81' column='1'/>
+          <var-decl name='begin_' type-id='type-id-542' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='81' column='1'/>
         </data-member>
         <data-member access='private' layout-offset-in-bits='128'>
           <!-- __tsan::RacyStacks* __tsan::Vector<__tsan::RacyStacks>::end_ -->
-          <var-decl name='end_' type-id='type-id-539' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='82' column='1'/>
+          <var-decl name='end_' type-id='type-id-542' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='82' column='1'/>
         </data-member>
         <data-member access='private' layout-offset-in-bits='192'>
           <!-- __tsan::RacyStacks* __tsan::Vector<__tsan::RacyStacks>::last_ -->
-          <var-decl name='last_' type-id='type-id-539' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='83' column='1'/>
+          <var-decl name='last_' type-id='type-id-542' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='83' column='1'/>
         </data-member>
         <member-function access='public'>
           <!-- void __tsan::Vector<__tsan::RacyStacks>::Vector(__tsan::MBlockType) -->
           <function-decl name='Vector' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='25' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Vector<__tsan::RacyStacks>*' -->
-            <parameter type-id='type-id-540' is-artificial='yes'/>
+            <parameter type-id='type-id-543' is-artificial='yes'/>
             <!-- parameter of type 'enum __tsan::MBlockType' -->
             <parameter type-id='type-id-451'/>
             <!-- void -->
@@ -30237,7 +30237,7 @@ 
           <!-- __tsan::Vector<__tsan::RacyStacks>::~Vector(int) -->
           <function-decl name='~Vector' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='32' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Vector<__tsan::RacyStacks>*' -->
-            <parameter type-id='type-id-540' is-artificial='yes'/>
+            <parameter type-id='type-id-543' is-artificial='yes'/>
             <!-- artificial parameter of type 'int' -->
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <!-- void -->
@@ -30248,16 +30248,16 @@ 
           <!-- void __tsan::Vector<__tsan::RacyStacks>::Vector(const __tsan::Vector<__tsan::RacyStacks>&) -->
           <function-decl name='Vector' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Vector<__tsan::RacyStacks>*' -->
-            <parameter type-id='type-id-540' is-artificial='yes'/>
+            <parameter type-id='type-id-543' is-artificial='yes'/>
             <!-- parameter of type 'const __tsan::Vector<__tsan::RacyStacks>&' -->
-            <parameter type-id='type-id-541'/>
+            <parameter type-id='type-id-544'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
         </member-function>
       </class-decl>
       <!-- struct __tsan::RacyStacks -->
-      <class-decl name='RacyStacks' size-in-bits='256' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='504' column='1' id='type-id-549'>
+      <class-decl name='RacyStacks' size-in-bits='256' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='504' column='1' id='type-id-548'>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- __tsan::MD5Hash __tsan::RacyStacks::hash[2] -->
           <var-decl name='hash' type-id='type-id-568' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='505' column='1'/>
@@ -30316,28 +30316,28 @@ 
         </member-function>
       </class-decl>
       <!-- class __tsan::Vector<__tsan::RacyAddress> -->
-      <class-decl name='Vector&lt;__tsan::RacyAddress&gt;' size-in-bits='256' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='23' column='1' id='type-id-515'>
+      <class-decl name='Vector&lt;__tsan::RacyAddress&gt;' size-in-bits='256' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='23' column='1' id='type-id-513'>
         <data-member access='private' layout-offset-in-bits='0'>
           <!-- const __tsan::MBlockType __tsan::Vector<__tsan::RacyAddress>::typ_ -->
           <var-decl name='typ_' type-id='type-id-452' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='80' column='1'/>
         </data-member>
         <data-member access='private' layout-offset-in-bits='64'>
           <!-- __tsan::RacyAddress* __tsan::Vector<__tsan::RacyAddress>::begin_ -->
-          <var-decl name='begin_' type-id='type-id-536' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='81' column='1'/>
+          <var-decl name='begin_' type-id='type-id-539' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='81' column='1'/>
         </data-member>
         <data-member access='private' layout-offset-in-bits='128'>
           <!-- __tsan::RacyAddress* __tsan::Vector<__tsan::RacyAddress>::end_ -->
-          <var-decl name='end_' type-id='type-id-536' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='82' column='1'/>
+          <var-decl name='end_' type-id='type-id-539' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='82' column='1'/>
         </data-member>
         <data-member access='private' layout-offset-in-bits='192'>
           <!-- __tsan::RacyAddress* __tsan::Vector<__tsan::RacyAddress>::last_ -->
-          <var-decl name='last_' type-id='type-id-536' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='83' column='1'/>
+          <var-decl name='last_' type-id='type-id-539' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='83' column='1'/>
         </data-member>
         <member-function access='public'>
           <!-- void __tsan::Vector<__tsan::RacyAddress>::Vector(__tsan::MBlockType) -->
           <function-decl name='Vector' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='25' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Vector<__tsan::RacyAddress>*' -->
-            <parameter type-id='type-id-537' is-artificial='yes'/>
+            <parameter type-id='type-id-540' is-artificial='yes'/>
             <!-- parameter of type 'enum __tsan::MBlockType' -->
             <parameter type-id='type-id-451'/>
             <!-- void -->
@@ -30348,7 +30348,7 @@ 
           <!-- __tsan::Vector<__tsan::RacyAddress>::~Vector(int) -->
           <function-decl name='~Vector' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='32' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Vector<__tsan::RacyAddress>*' -->
-            <parameter type-id='type-id-537' is-artificial='yes'/>
+            <parameter type-id='type-id-540' is-artificial='yes'/>
             <!-- artificial parameter of type 'int' -->
             <parameter type-id='type-id-25' is-artificial='yes'/>
             <!-- void -->
@@ -30359,16 +30359,16 @@ 
           <!-- void __tsan::Vector<__tsan::RacyAddress>::Vector(const __tsan::Vector<__tsan::RacyAddress>&) -->
           <function-decl name='Vector' filepath='../../.././libsanitizer/tsan/tsan_vector.h' line='108' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type '__tsan::Vector<__tsan::RacyAddress>*' -->
-            <parameter type-id='type-id-537' is-artificial='yes'/>
+            <parameter type-id='type-id-540' is-artificial='yes'/>
             <!-- parameter of type 'const __tsan::Vector<__tsan::RacyAddress>&' -->
-            <parameter type-id='type-id-538'/>
+            <parameter type-id='type-id-541'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
         </member-function>
       </class-decl>
       <!-- struct __tsan::JmpBuf -->
-      <class-decl name='JmpBuf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='390' column='1' id='type-id-503'>
+      <class-decl name='JmpBuf' size-in-bits='192' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='390' column='1' id='type-id-502'>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- __sanitizer::uptr __tsan::JmpBuf::sp -->
           <var-decl name='sp' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='391' column='1'/>
@@ -30383,7 +30383,7 @@ 
         </data-member>
       </class-decl>
       <!-- struct __tsan::RacyAddress -->
-      <class-decl name='RacyAddress' size-in-bits='128' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='515' column='1' id='type-id-548'>
+      <class-decl name='RacyAddress' size-in-bits='128' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='515' column='1' id='type-id-547'>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- __sanitizer::uptr __tsan::RacyAddress::addr_min -->
           <var-decl name='addr_min' type-id='type-id-106' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='516' column='1'/>
@@ -30394,7 +30394,7 @@ 
         </data-member>
       </class-decl>
       <!-- struct __tsan::FiredSuppression -->
-      <class-decl name='FiredSuppression' size-in-bits='192' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='520' column='1' id='type-id-547'>
+      <class-decl name='FiredSuppression' size-in-bits='192' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='520' column='1' id='type-id-546'>
         <data-member access='public' layout-offset-in-bits='0'>
           <!-- __tsan::ReportType __tsan::FiredSuppression::type -->
           <var-decl name='type' type-id='type-id-567' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_rtl.h' line='521' column='1'/>
@@ -30409,7 +30409,7 @@ 
         </data-member>
       </class-decl>
       <!-- enum __tsan::MutexType -->
-      <enum-decl name='MutexType' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='20' column='1' id='type-id-526'>
+      <enum-decl name='MutexType' filepath='../../.././libsanitizer/tsan/tsan_mutex.h' line='20' column='1' id='type-id-529'>
         <underlying-type type-id='type-id-62'/>
         <enumerator name='MutexTypeInvalid' value='0'/>
         <enumerator name='MutexTypeTrace' value='1'/>
@@ -30440,11 +30440,11 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
           <!-- __tsan::SignalDesc __tsan::SignalContext::pending_signals[64] -->
-          <var-decl name='pending_signals' type-id='type-id-519' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='125' column='1'/>
+          <var-decl name='pending_signals' type-id='type-id-517' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interceptors.cc' line='125' column='1'/>
         </data-member>
       </class-decl>
       <!-- enum __tsan::StatType -->
-      <enum-decl name='StatType' filepath='../../.././libsanitizer/tsan/tsan_stat.h' line='17' column='1' id='type-id-527'>
+      <enum-decl name='StatType' filepath='../../.././libsanitizer/tsan/tsan_stat.h' line='17' column='1' id='type-id-530'>
         <underlying-type type-id='type-id-62'/>
         <enumerator name='StatMop' value='0'/>
         <enumerator name='StatMopRead' value='1'/>
@@ -30913,7 +30913,7 @@ 
         <!-- parameter of type '__tsan::ThreadState*' -->
         <parameter type-id='type-id-467'/>
         <!-- parameter of type 'enum __tsan::StatType' -->
-        <parameter type-id='type-id-527'/>
+        <parameter type-id='type-id-530'/>
         <!-- parameter of type 'typedef __sanitizer::u64' -->
         <parameter type-id='type-id-157'/>
         <!-- void -->
@@ -31696,7 +31696,7 @@ 
       <return type-id='type-id-4'/>
     </function-decl>
     <!-- __sanitizer::ThreadContextBase* (__sanitizer::u32) -->
-    <function-type size-in-bits='64' id='type-id-574'>
+    <function-type size-in-bits='64' id='type-id-573'>
       <!-- parameter of type 'typedef __sanitizer::u32' -->
       <parameter type-id='type-id-284'/>
       <!-- __sanitizer::ThreadContextBase* -->
@@ -31808,11 +31808,11 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
           <!-- __tsan::Mutex __tsan::BlockDesc::mtx -->
-          <var-decl name='mtx' type-id='type-id-512' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interface_java.cc' line='30' column='1'/>
+          <var-decl name='mtx' type-id='type-id-510' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interface_java.cc' line='30' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='128'>
           <!-- __tsan::SyncVar* __tsan::BlockDesc::head -->
-          <var-decl name='head' type-id='type-id-530' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interface_java.cc' line='31' column='1'/>
+          <var-decl name='head' type-id='type-id-533' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_interface_java.cc' line='31' column='1'/>
         </data-member>
         <member-function access='public' constructor='yes'>
           <!-- __tsan::BlockDesc::BlockDesc() -->
@@ -32001,7 +32001,7 @@ 
       <subrange length='64' type-id='type-id-50' id='type-id-122'/>
     </array-type-def>
     <!-- void*[64] -->
-    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='4096' id='type-id-147'>
+    <array-type-def dimensions='1' type-id='type-id-1' size-in-bits='4096' id='type-id-146'>
       <!-- <anonymous range>[64] -->
       <subrange length='64' type-id='type-id-50' id='type-id-122'/>
     </array-type-def>
@@ -33808,7 +33808,7 @@ 
       <class-decl name='GenericScopedLock&lt;__tsan::Mutex&gt;' size-in-bits='64' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_mutex.h' line='85' column='1' id='type-id-1758'>
         <data-member access='private' layout-offset-in-bits='0'>
           <!-- __tsan::Mutex* __sanitizer::GenericScopedLock<__tsan::Mutex>::mu_ -->
-          <var-decl name='mu_' type-id='type-id-525' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_mutex.h' line='97' column='1'/>
+          <var-decl name='mu_' type-id='type-id-528' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_mutex.h' line='97' column='1'/>
         </data-member>
         <member-function access='public'>
           <!-- void __sanitizer::GenericScopedLock<__tsan::Mutex>::GenericScopedLock(__tsan::Mutex*) -->
@@ -33816,7 +33816,7 @@ 
             <!-- implicit parameter of type '__sanitizer::GenericScopedLock<__tsan::Mutex>*' -->
             <parameter type-id='type-id-1759' is-artificial='yes'/>
             <!-- parameter of type '__tsan::Mutex*' -->
-            <parameter type-id='type-id-525'/>
+            <parameter type-id='type-id-528'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
@@ -34301,10 +34301,6 @@ 
     </function-type>
     <!-- __tsan::Shadow* -->
     <pointer-type-def type-id='type-id-1781' size-in-bits='64' id='type-id-1783'/>
-    <!-- const __tsan::FastState& -->
-    <reference-type-def kind='lvalue' type-id='type-id-1533' size-in-bits='64' id='type-id-1784'/>
-    <!-- const __tsan::Shadow -->
-    <qualified-type-def type-id='type-id-1781' const='yes' id='type-id-1785'/>
     <namespace-decl name='__tsan'>
       <!-- struct __tsan::Trace -->
       <class-decl name='Trace' size-in-bits='9257024' is-struct='yes' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_trace.h' line='60' column='1' id='type-id-1782'>
@@ -34314,7 +34310,7 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='5062656'>
           <!-- __tsan::Mutex __tsan::Trace::mtx -->
-          <var-decl name='mtx' type-id='type-id-512' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_trace.h' line='62' column='1'/>
+          <var-decl name='mtx' type-id='type-id-510' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_trace.h' line='62' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5062720'>
           <!-- unsigned long int __tsan::Trace::shadow_stack[65536] -->
@@ -34331,6 +34327,10 @@ 
         </member-function>
       </class-decl>
     </namespace-decl>
+    <!-- const __tsan::FastState& -->
+    <reference-type-def kind='lvalue' type-id='type-id-1533' size-in-bits='64' id='type-id-1784'/>
+    <!-- const __tsan::Shadow -->
+    <qualified-type-def type-id='type-id-1781' const='yes' id='type-id-1785'/>
     <!-- TraceHeader[256] -->
     <array-type-def dimensions='1' type-id='type-id-1788' size-in-bits='5062656' id='type-id-1786'>
       <!-- <anonymous range>[256] -->
@@ -34532,9 +34532,9 @@ 
     <!-- __tsan::ScopedReport* const -->
     <qualified-type-def type-id='type-id-1805' const='yes' id='type-id-1806'/>
     <!-- __tsan::Vector<__tsan::RacyAddress>* const -->
-    <qualified-type-def type-id='type-id-537' const='yes' id='type-id-1807'/>
+    <qualified-type-def type-id='type-id-540' const='yes' id='type-id-1807'/>
     <!-- __tsan::Vector<__tsan::RacyStacks>* const -->
-    <qualified-type-def type-id='type-id-540' const='yes' id='type-id-1808'/>
+    <qualified-type-def type-id='type-id-543' const='yes' id='type-id-1808'/>
     <!-- __tsan::Vector<__tsan::ReportLocation*>* const -->
     <qualified-type-def type-id='type-id-1708' const='yes' id='type-id-1809'/>
     <!-- __tsan::Vector<__tsan::ReportMop*>* const -->
@@ -34805,7 +34805,7 @@ 
     <!-- __sanitizer::GenericScopedLock<__sanitizer::ThreadRegistry>* -->
     <pointer-type-def type-id='type-id-1830' size-in-bits='64' id='type-id-1831'/>
     <!-- __sanitizer::ThreadRegistry* const -->
-    <qualified-type-def type-id='type-id-513' const='yes' id='type-id-1832'/>
+    <qualified-type-def type-id='type-id-511' const='yes' id='type-id-1832'/>
     <!-- __tsan::ScopedReport* -->
     <pointer-type-def type-id='type-id-1827' size-in-bits='64' id='type-id-1805'/>
     <!-- __tsan::Shadow* -->
@@ -34885,7 +34885,7 @@ 
       <class-decl name='GenericScopedLock&lt;__sanitizer::ThreadRegistry&gt;' size-in-bits='64' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_mutex.h' line='85' column='1' id='type-id-1830'>
         <data-member access='private' layout-offset-in-bits='0'>
           <!-- __sanitizer::ThreadRegistry* __sanitizer::GenericScopedLock<__sanitizer::ThreadRegistry>::mu_ -->
-          <var-decl name='mu_' type-id='type-id-513' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_mutex.h' line='97' column='1'/>
+          <var-decl name='mu_' type-id='type-id-511' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_mutex.h' line='97' column='1'/>
         </data-member>
         <member-function access='public'>
           <!-- void __sanitizer::GenericScopedLock<__sanitizer::ThreadRegistry>::GenericScopedLock(__sanitizer::ThreadRegistry*) -->
@@ -34893,7 +34893,7 @@ 
             <!-- implicit parameter of type '__sanitizer::GenericScopedLock<__sanitizer::ThreadRegistry>*' -->
             <parameter type-id='type-id-1831' is-artificial='yes'/>
             <!-- parameter of type '__sanitizer::ThreadRegistry*' -->
-            <parameter type-id='type-id-513'/>
+            <parameter type-id='type-id-511'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
@@ -35041,7 +35041,7 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='5062656'>
           <!-- __tsan::Mutex __tsan::Trace::mtx -->
-          <var-decl name='mtx' type-id='type-id-512' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_trace.h' line='62' column='1'/>
+          <var-decl name='mtx' type-id='type-id-510' visibility='default' filepath='../../.././libsanitizer/tsan/tsan_trace.h' line='62' column='1'/>
         </data-member>
         <data-member access='public' layout-offset-in-bits='5062720'>
           <!-- unsigned long int __tsan::Trace::shadow_stack[65536] -->
@@ -35245,7 +35245,7 @@ 
         <!-- parameter of type '__tsan::ThreadState*' -->
         <parameter type-id='type-id-467'/>
         <!-- parameter of type 'enum __tsan::StatType' -->
-        <parameter type-id='type-id-527'/>
+        <parameter type-id='type-id-530'/>
         <!-- parameter of type 'typedef __sanitizer::u64' -->
         <parameter type-id='type-id-157'/>
         <!-- void -->
@@ -35804,9 +35804,9 @@ 
     <!-- __tsan::StackTrace* const -->
     <qualified-type-def type-id='type-id-1792' const='yes' id='type-id-1883'/>
     <!-- __tsan::SyncTab* const -->
-    <qualified-type-def type-id='type-id-534' const='yes' id='type-id-1884'/>
+    <qualified-type-def type-id='type-id-537' const='yes' id='type-id-1884'/>
     <!-- __tsan::SyncVar*& -->
-    <reference-type-def kind='lvalue' type-id='type-id-530' size-in-bits='64' id='type-id-1885'/>
+    <reference-type-def kind='lvalue' type-id='type-id-533' size-in-bits='64' id='type-id-1885'/>
     <!-- const __sanitizer::GenericScopedLock<__tsan::MBlock> -->
     <qualified-type-def type-id='type-id-1876' const='yes' id='type-id-1886'/>
     <!-- const __sanitizer::GenericScopedLock<__tsan::MBlock>& -->
@@ -35831,7 +35831,7 @@ 
       <class-decl name='GenericScopedReadLock&lt;__tsan::Mutex&gt;' size-in-bits='64' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_mutex.h' line='104' column='1' id='type-id-1878'>
         <data-member access='private' layout-offset-in-bits='0'>
           <!-- __tsan::Mutex* __sanitizer::GenericScopedReadLock<__tsan::Mutex>::mu_ -->
-          <var-decl name='mu_' type-id='type-id-525' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_mutex.h' line='116' column='1'/>
+          <var-decl name='mu_' type-id='type-id-528' visibility='default' filepath='../../.././libsanitizer/sanitizer_common/sanitizer_mutex.h' line='116' column='1'/>
         </data-member>
         <member-function access='public'>
           <!-- void __sanitizer::GenericScopedReadLock<__tsan::Mutex>::GenericScopedReadLock(__tsan::Mutex*) -->
@@ -35839,7 +35839,7 @@ 
             <!-- implicit parameter of type '__sanitizer::GenericScopedReadLock<__tsan::Mutex>*' -->
             <parameter type-id='type-id-1879' is-artificial='yes'/>
             <!-- parameter of type '__tsan::Mutex*' -->
-            <parameter type-id='type-id-525'/>
+            <parameter type-id='type-id-528'/>
             <!-- void -->
             <return type-id='type-id-4'/>
           </function-decl>
diff --git a/tests/data/test-annotate/test17-pr19027.so.abi b/tests/data/test-annotate/test17-pr19027.so.abi
index cf85ca0f..956f7172 100644
--- a/tests/data/test-annotate/test17-pr19027.so.abi
+++ b/tests/data/test-annotate/test17-pr19027.so.abi
@@ -1870,6 +1870,17 @@ 
       <!-- enum hb_buffer_serialize_format_t -->
       <return type-id='type-id-90'/>
     </function-decl>
+    <!-- struct hb_shaper_data_t -->
+    <class-decl name='hb_shaper_data_t' size-in-bits='128' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-shaper-private.hh' line='53' column='1' id='type-id-146'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <!-- void* hb_shaper_data_t::ot -->
+        <var-decl name='ot' type-id='type-id-33' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-shaper-list.hh' line='43' column='1'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <!-- void* hb_shaper_data_t::fallback -->
+        <var-decl name='fallback' type-id='type-id-33' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-shaper-list.hh' line='54' column='1'/>
+      </data-member>
+    </class-decl>
     <!-- const char[1] -->
     <array-type-def dimensions='1' type-id='type-id-43' size-in-bits='8' id='type-id-127'>
       <!-- <anonymous range>[1] -->
@@ -1977,17 +1988,6 @@ 
     <pointer-type-def type-id='type-id-172' size-in-bits='64' id='type-id-144'/>
     <!-- hb_font_funcs_t* -->
     <pointer-type-def type-id='type-id-173' size-in-bits='64' id='type-id-145'/>
-    <!-- struct hb_shaper_data_t -->
-    <class-decl name='hb_shaper_data_t' size-in-bits='128' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-shaper-private.hh' line='53' column='1' id='type-id-146'>
-      <data-member access='public' layout-offset-in-bits='0'>
-        <!-- void* hb_shaper_data_t::ot -->
-        <var-decl name='ot' type-id='type-id-33' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-shaper-list.hh' line='43' column='1'/>
-      </data-member>
-      <data-member access='public' layout-offset-in-bits='64'>
-        <!-- void* hb_shaper_data_t::fallback -->
-        <var-decl name='fallback' type-id='type-id-33' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-shaper-list.hh' line='54' column='1'/>
-      </data-member>
-    </class-decl>
     <!-- typedef hb_face_t hb_face_t -->
     <typedef-decl name='hb_face_t' type-id='type-id-174' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-face.h' line='44' column='1' id='type-id-172'/>
     <!-- typedef hb_font_funcs_t hb_font_funcs_t -->
@@ -7223,238 +7223,6 @@ 
       <!-- typedef hb_position_t -->
       <return type-id='type-id-140'/>
     </function-type>
-    <!-- const OT::AnchorFormat1 -->
-    <qualified-type-def type-id='type-id-791' const='yes' id='type-id-675'/>
-    <!-- const OT::AnchorFormat2 -->
-    <qualified-type-def type-id='type-id-792' const='yes' id='type-id-676'/>
-    <!-- const OT::AnchorFormat3 -->
-    <qualified-type-def type-id='type-id-793' const='yes' id='type-id-677'/>
-    <!-- const OT::AnchorMatrix -->
-    <qualified-type-def type-id='type-id-794' const='yes' id='type-id-678'/>
-    <!-- const OT::ArrayOf<OT::CmapSubtableLongGroup, OT::IntType<unsigned int, 4u> > -->
-    <qualified-type-def type-id='type-id-795' const='yes' id='type-id-679'/>
-    <!-- const OT::ArrayOf<OT::EncodingRecord, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-796' const='yes' id='type-id-680'/>
-    <!-- const OT::ArrayOf<OT::EntryExitRecord, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-797' const='yes' id='type-id-681'/>
-    <!-- const OT::ArrayOf<OT::Index, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-798' const='yes' id='type-id-682'/>
-    <!-- const OT::ArrayOf<OT::IntType<short unsigned int, 2u>, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-618' const='yes' id='type-id-683'/>
-    <!-- const OT::ArrayOf<OT::IntType<short unsigned int, 2u>, OT::IntType<unsigned int, 4u> > -->
-    <qualified-type-def type-id='type-id-799' const='yes' id='type-id-684'/>
-    <!-- const OT::ArrayOf<OT::IntType<unsigned int, 3u>, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-800' const='yes' id='type-id-685'/>
-    <!-- const OT::ArrayOf<OT::LookupRecord, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-801' const='yes' id='type-id-686'/>
-    <!-- const OT::ArrayOf<OT::MarkRecord, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-802' const='yes' id='type-id-687'/>
-    <!-- const OT::ArrayOf<OT::Offset<OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-619' const='yes' id='type-id-688'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::AnchorMatrix, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-803' const='yes' id='type-id-689'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::ArrayOf<OT::IntType<short unsigned int, 2u>, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-804' const='yes' id='type-id-690'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-805' const='yes' id='type-id-691'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::ChainRule, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-806' const='yes' id='type-id-692'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-807' const='yes' id='type-id-693'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::Coverage, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-808' const='yes' id='type-id-694'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::Coverage, OT::IntType<unsigned int, 4u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-809' const='yes' id='type-id-695'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-810' const='yes' id='type-id-696'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::Ligature, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-620' const='yes' id='type-id-697'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::LigatureSet, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-621' const='yes' id='type-id-698'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::Lookup, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-811' const='yes' id='type-id-699'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::PairSet, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-812' const='yes' id='type-id-700'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::PosLookup, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-813' const='yes' id='type-id-701'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::PosLookupSubTable, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-814' const='yes' id='type-id-702'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::Rule, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-815' const='yes' id='type-id-703'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::RuleSet, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-816' const='yes' id='type-id-704'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::Sequence, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-817' const='yes' id='type-id-705'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::SubstLookup, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-818' const='yes' id='type-id-706'/>
-    <!-- const OT::ArrayOf<OT::OffsetTo<OT::SubstLookupSubTable, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-819' const='yes' id='type-id-707'/>
-    <!-- const OT::ArrayOf<OT::RangeRecord, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-820' const='yes' id='type-id-708'/>
-    <!-- const OT::ArrayOf<OT::Record<OT::Feature>, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-821' const='yes' id='type-id-709'/>
-    <!-- const OT::ArrayOf<OT::Record<OT::LangSys>, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-822' const='yes' id='type-id-710'/>
-    <!-- const OT::ArrayOf<OT::Record<OT::Script>, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-823' const='yes' id='type-id-711'/>
-    <!-- const OT::ArrayOf<OT::UVSMapping, OT::IntType<unsigned int, 4u> > -->
-    <qualified-type-def type-id='type-id-824' const='yes' id='type-id-712'/>
-    <!-- const OT::ArrayOf<OT::UnicodeValueRange, OT::IntType<unsigned int, 4u> > -->
-    <qualified-type-def type-id='type-id-825' const='yes' id='type-id-713'/>
-    <!-- const OT::ArrayOf<OT::VariationSelectorRecord, OT::IntType<unsigned int, 4u> > -->
-    <qualified-type-def type-id='type-id-826' const='yes' id='type-id-714'/>
-    <!-- const OT::CaretValueFormat1 -->
-    <qualified-type-def type-id='type-id-827' const='yes' id='type-id-715'/>
-    <!-- const OT::CaretValueFormat2 -->
-    <qualified-type-def type-id='type-id-828' const='yes' id='type-id-716'/>
-    <!-- const OT::CaretValueFormat3 -->
-    <qualified-type-def type-id='type-id-829' const='yes' id='type-id-717'/>
-    <!-- const OT::ClassDefFormat1 -->
-    <qualified-type-def type-id='type-id-830' const='yes' id='type-id-718'/>
-    <!-- const OT::CmapSubtableFormat0 -->
-    <qualified-type-def type-id='type-id-831' const='yes' id='type-id-719'/>
-    <!-- const OT::CmapSubtableFormat14 -->
-    <qualified-type-def type-id='type-id-832' const='yes' id='type-id-720'/>
-    <!-- const OT::CmapSubtableFormat4 -->
-    <qualified-type-def type-id='type-id-833' const='yes' id='type-id-721'/>
-    <!-- const OT::CmapSubtableLongSegmented<OT::CmapSubtableFormat12> -->
-    <qualified-type-def type-id='type-id-834' const='yes' id='type-id-722'/>
-    <!-- const OT::CmapSubtableLongSegmented<OT::CmapSubtableFormat13> -->
-    <qualified-type-def type-id='type-id-835' const='yes' id='type-id-723'/>
-    <!-- const OT::CmapSubtableTrimmed<OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-836' const='yes' id='type-id-724'/>
-    <!-- const OT::CmapSubtableTrimmed<OT::IntType<unsigned int, 4u> > -->
-    <qualified-type-def type-id='type-id-837' const='yes' id='type-id-725'/>
-    <!-- const OT::ContextFormat3 -->
-    <qualified-type-def type-id='type-id-838' const='yes' id='type-id-726'/>
-    <!-- const OT::Device -->
-    <qualified-type-def type-id='type-id-839' const='yes' id='type-id-727'/>
-    <!-- const OT::EncodingRecord -->
-    <qualified-type-def type-id='type-id-840' const='yes' id='type-id-728'/>
-    <!-- const OT::ExtensionFormat1 -->
-    <qualified-type-def type-id='type-id-841' const='yes' id='type-id-729'/>
-    <!-- const OT::Feature -->
-    <qualified-type-def type-id='type-id-842' const='yes' id='type-id-730'/>
-    <!-- const OT::FeatureParamsCharacterVariants -->
-    <qualified-type-def type-id='type-id-843' const='yes' id='type-id-731'/>
-    <!-- const OT::FeatureParamsSize -->
-    <qualified-type-def type-id='type-id-844' const='yes' id='type-id-732'/>
-    <!-- const OT::FeatureParamsStylisticSet -->
-    <qualified-type-def type-id='type-id-845' const='yes' id='type-id-733'/>
-    <!-- const OT::HeadlessArrayOf<OT::IntType<short unsigned int, 2u>, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-625' const='yes' id='type-id-734'/>
-    <!-- const OT::LangSys -->
-    <qualified-type-def type-id='type-id-846' const='yes' id='type-id-735'/>
-    <!-- const OT::Lookup -->
-    <qualified-type-def type-id='type-id-629' const='yes' id='type-id-736'/>
-    <!-- const OT::MarkBasePosFormat1 -->
-    <qualified-type-def type-id='type-id-847' const='yes' id='type-id-737'/>
-    <!-- const OT::MarkLigPosFormat1 -->
-    <qualified-type-def type-id='type-id-848' const='yes' id='type-id-738'/>
-    <!-- const OT::MarkMarkPosFormat1 -->
-    <qualified-type-def type-id='type-id-849' const='yes' id='type-id-739'/>
-    <!-- const OT::MarkRecord -->
-    <qualified-type-def type-id='type-id-850' const='yes' id='type-id-740'/>
-    <!-- const OT::OffsetTo<OT::Anchor, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-630' const='yes' id='type-id-741'/>
-    <!-- const OT::OffsetTo<OT::AnchorMatrix, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-631' const='yes' id='type-id-742'/>
-    <!-- const OT::OffsetTo<OT::ArrayOf<OT::IntType<short unsigned int, 2u>, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-632' const='yes' id='type-id-743'/>
-    <!-- const OT::OffsetTo<OT::AttachList, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-633' const='yes' id='type-id-744'/>
-    <!-- const OT::OffsetTo<OT::CaretValue, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-634' const='yes' id='type-id-745'/>
-    <!-- const OT::OffsetTo<OT::ChainRule, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-635' const='yes' id='type-id-746'/>
-    <!-- const OT::OffsetTo<OT::ChainRuleSet, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-636' const='yes' id='type-id-747'/>
-    <!-- const OT::OffsetTo<OT::ClassDef, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-637' const='yes' id='type-id-748'/>
-    <!-- const OT::OffsetTo<OT::CmapSubtable, OT::IntType<unsigned int, 4u> > -->
-    <qualified-type-def type-id='type-id-638' const='yes' id='type-id-749'/>
-    <!-- const OT::OffsetTo<OT::Coverage, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-639' const='yes' id='type-id-750'/>
-    <!-- const OT::OffsetTo<OT::Coverage, OT::IntType<unsigned int, 4u> > -->
-    <qualified-type-def type-id='type-id-640' const='yes' id='type-id-751'/>
-    <!-- const OT::OffsetTo<OT::Device, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-641' const='yes' id='type-id-752'/>
-    <!-- const OT::OffsetTo<OT::Feature, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-642' const='yes' id='type-id-753'/>
-    <!-- const OT::OffsetTo<OT::FeatureParams, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-643' const='yes' id='type-id-754'/>
-    <!-- const OT::OffsetTo<OT::LangSys, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-644' const='yes' id='type-id-755'/>
-    <!-- const OT::OffsetTo<OT::LigCaretList, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-645' const='yes' id='type-id-756'/>
-    <!-- const OT::OffsetTo<OT::LigGlyph, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-646' const='yes' id='type-id-757'/>
-    <!-- const OT::OffsetTo<OT::Ligature, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-647' const='yes' id='type-id-758'/>
-    <!-- const OT::OffsetTo<OT::LigatureSet, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-648' const='yes' id='type-id-759'/>
-    <!-- const OT::OffsetTo<OT::Lookup, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-649' const='yes' id='type-id-760'/>
-    <!-- const OT::OffsetTo<OT::MarkArray, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-650' const='yes' id='type-id-761'/>
-    <!-- const OT::OffsetTo<OT::MarkGlyphSets, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-651' const='yes' id='type-id-762'/>
-    <!-- const OT::OffsetTo<OT::OffsetListOf<OT::AnchorMatrix>, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-652' const='yes' id='type-id-763'/>
-    <!-- const OT::OffsetTo<OT::OffsetListOf<OT::Lookup>, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-653' const='yes' id='type-id-764'/>
-    <!-- const OT::OffsetTo<OT::OffsetListOf<OT::PosLookup>, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-654' const='yes' id='type-id-765'/>
-    <!-- const OT::OffsetTo<OT::OffsetListOf<OT::SubstLookup>, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-655' const='yes' id='type-id-766'/>
-    <!-- const OT::OffsetTo<OT::PairSet, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-656' const='yes' id='type-id-767'/>
-    <!-- const OT::OffsetTo<OT::PosLookup, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-657' const='yes' id='type-id-768'/>
-    <!-- const OT::OffsetTo<OT::PosLookupSubTable, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-658' const='yes' id='type-id-769'/>
-    <!-- const OT::OffsetTo<OT::RecordListOf<OT::Feature>, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-659' const='yes' id='type-id-770'/>
-    <!-- const OT::OffsetTo<OT::RecordListOf<OT::Script>, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-660' const='yes' id='type-id-771'/>
-    <!-- const OT::OffsetTo<OT::Rule, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-661' const='yes' id='type-id-772'/>
-    <!-- const OT::OffsetTo<OT::RuleSet, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-662' const='yes' id='type-id-773'/>
-    <!-- const OT::OffsetTo<OT::Script, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-663' const='yes' id='type-id-774'/>
-    <!-- const OT::OffsetTo<OT::Sequence, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-664' const='yes' id='type-id-775'/>
-    <!-- const OT::OffsetTo<OT::SortedArrayOf<OT::UVSMapping, OT::IntType<unsigned int, 4u> >, OT::IntType<unsigned int, 4u> > -->
-    <qualified-type-def type-id='type-id-665' const='yes' id='type-id-776'/>
-    <!-- const OT::OffsetTo<OT::SortedArrayOf<OT::UnicodeValueRange, OT::IntType<unsigned int, 4u> >, OT::IntType<unsigned int, 4u> > -->
-    <qualified-type-def type-id='type-id-666' const='yes' id='type-id-777'/>
-    <!-- const OT::OffsetTo<OT::SubstLookup, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-667' const='yes' id='type-id-778'/>
-    <!-- const OT::OffsetTo<OT::SubstLookupSubTable, OT::IntType<short unsigned int, 2u> > -->
-    <qualified-type-def type-id='type-id-668' const='yes' id='type-id-779'/>
-    <!-- const OT::PairPosFormat1 -->
-    <qualified-type-def type-id='type-id-851' const='yes' id='type-id-780'/>
-    <!-- const OT::PairPosFormat2 -->
-    <qualified-type-def type-id='type-id-852' const='yes' id='type-id-781'/>
-    <!-- const OT::PairSet -->
-    <qualified-type-def type-id='type-id-853' const='yes' id='type-id-782'/>
-    <!-- const OT::Record<OT::Feature> -->
-    <qualified-type-def type-id='type-id-854' const='yes' id='type-id-783'/>
-    <!-- const OT::Record<OT::LangSys> -->
-    <qualified-type-def type-id='type-id-855' const='yes' id='type-id-784'/>
-    <!-- const OT::Record<OT::Script> -->
-    <qualified-type-def type-id='type-id-856' const='yes' id='type-id-785'/>
-    <!-- const OT::SinglePosFormat1 -->
-    <qualified-type-def type-id='type-id-857' const='yes' id='type-id-786'/>
-    <!-- const OT::SinglePosFormat2 -->
-    <qualified-type-def type-id='type-id-858' const='yes' id='type-id-787'/>
-    <!-- const OT::VariationSelectorRecord -->
-    <qualified-type-def type-id='type-id-859' const='yes' id='type-id-788'/>
-    <!-- const OT::_hea -->
-    <qualified-type-def type-id='type-id-860' const='yes' id='type-id-789'/>
-    <!-- const OT::cmap -->
-    <qualified-type-def type-id='type-id-861' const='yes' id='type-id-790'/>
     <namespace-decl name='OT'>
       <!-- struct OT::ArrayOf<OT::IntType<short unsigned int, 2u>, OT::IntType<short unsigned int, 2u> > -->
       <class-decl name='ArrayOf&lt;OT::IntType&lt;short unsigned int, 2u&gt;, OT::IntType&lt;short unsigned int, 2u&gt; &gt;' size-in-bits='32' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-open-type-private.hh' line='793' column='1' id='type-id-618'>
@@ -7464,7 +7232,7 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
           <!-- OT::IntType<short unsigned int, 2u> OT::ArrayOf<OT::IntType<short unsigned int, 2u>, OT::IntType<short unsigned int, 2u> >::array[1] -->
-          <var-decl name='array' type-id='type-id-862' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-open-type-private.hh' line='893' column='1'/>
+          <var-decl name='array' type-id='type-id-791' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-open-type-private.hh' line='893' column='1'/>
         </data-member>
         <data-member access='public' static='yes'>
           <!-- static const unsigned int OT::ArrayOf<OT::IntType<short unsigned int, 2u>, OT::IntType<short unsigned int, 2u> >::min_size -->
@@ -7481,7 +7249,7 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
           <!-- OT::Offset<OT::IntType<short unsigned int, 2u> > OT::ArrayOf<OT::Offset<OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> >::array[1] -->
-          <var-decl name='array' type-id='type-id-863' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-open-type-private.hh' line='893' column='1'/>
+          <var-decl name='array' type-id='type-id-792' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-open-type-private.hh' line='893' column='1'/>
         </data-member>
         <data-member access='public' static='yes'>
           <!-- static const unsigned int OT::ArrayOf<OT::Offset<OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> >::min_size -->
@@ -7498,7 +7266,7 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
           <!-- OT::OffsetTo<OT::Ligature, OT::IntType<short unsigned int, 2u> > OT::ArrayOf<OT::OffsetTo<OT::Ligature, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> >::array[1] -->
-          <var-decl name='array' type-id='type-id-864' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-open-type-private.hh' line='893' column='1'/>
+          <var-decl name='array' type-id='type-id-793' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-open-type-private.hh' line='893' column='1'/>
         </data-member>
         <data-member access='public' static='yes'>
           <!-- static const unsigned int OT::ArrayOf<OT::OffsetTo<OT::Ligature, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> >::min_size -->
@@ -7515,7 +7283,7 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
           <!-- OT::OffsetTo<OT::LigatureSet, OT::IntType<short unsigned int, 2u> > OT::ArrayOf<OT::OffsetTo<OT::LigatureSet, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> >::array[1] -->
-          <var-decl name='array' type-id='type-id-865' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-open-type-private.hh' line='893' column='1'/>
+          <var-decl name='array' type-id='type-id-794' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-open-type-private.hh' line='893' column='1'/>
         </data-member>
         <data-member access='public' static='yes'>
           <!-- static const unsigned int OT::ArrayOf<OT::OffsetTo<OT::LigatureSet, OT::IntType<short unsigned int, 2u> >, OT::IntType<short unsigned int, 2u> >::min_size -->
@@ -7528,17 +7296,17 @@ 
       <class-decl name='Coverage' size-in-bits='80' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='807' column='1' id='type-id-622'>
         <member-type access='public'>
           <!-- struct OT::Coverage::Iter -->
-          <class-decl name='Iter' size-in-bits='256' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='872' column='1' id='type-id-866'>
+          <class-decl name='Iter' size-in-bits='256' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='872' column='1' id='type-id-795'>
             <member-type access='private'>
               <!-- union {OT::CoverageFormat1::Iter format1; OT::CoverageFormat2::Iter format2;} -->
-              <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='913' column='1' id='type-id-867'>
+              <union-decl name='__anonymous_union__' size-in-bits='192' is-anonymous='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='913' column='1' id='type-id-796'>
                 <data-member access='private'>
                   <!-- OT::CoverageFormat1::Iter format1 -->
-                  <var-decl name='format1' type-id='type-id-868' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='914' column='1'/>
+                  <var-decl name='format1' type-id='type-id-797' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='914' column='1'/>
                 </data-member>
                 <data-member access='private'>
                   <!-- OT::CoverageFormat2::Iter format2 -->
-                  <var-decl name='format2' type-id='type-id-869' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='915' column='1'/>
+                  <var-decl name='format2' type-id='type-id-798' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='915' column='1'/>
                 </data-member>
               </union-decl>
             </member-type>
@@ -7548,13 +7316,13 @@ 
             </data-member>
             <data-member access='private' layout-offset-in-bits='64'>
               <!-- union {OT::CoverageFormat1::Iter format1; OT::CoverageFormat2::Iter format2;} OT::Coverage::Iter::u -->
-              <var-decl name='u' type-id='type-id-867' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='916' column='1'/>
+              <var-decl name='u' type-id='type-id-796' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='916' column='1'/>
             </data-member>
             <member-function access='public' constructor='yes'>
               <!-- OT::Coverage::Iter::Iter() -->
               <function-decl name='Iter' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='873' column='1' visibility='default' binding='global' size-in-bits='64'>
                 <!-- implicit parameter of type 'OT::Coverage::Iter*' -->
-                <parameter type-id='type-id-870' is-artificial='yes'/>
+                <parameter type-id='type-id-799' is-artificial='yes'/>
                 <!-- void -->
                 <return type-id='type-id-13'/>
               </function-decl>
@@ -7563,7 +7331,7 @@ 
         </member-type>
         <member-type access='protected'>
           <!-- union {OT::USHORT format; OT::CoverageFormat1 format1; OT::CoverageFormat2 format2;} -->
-          <union-decl name='__anonymous_union__' size-in-bits='80' is-anonymous='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='920' column='1' id='type-id-871'>
+          <union-decl name='__anonymous_union__' size-in-bits='80' is-anonymous='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='920' column='1' id='type-id-800'>
             <data-member access='private'>
               <!-- OT::USHORT format -->
               <var-decl name='format' type-id='type-id-415' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='921' column='1'/>
@@ -7580,7 +7348,7 @@ 
         </member-type>
         <data-member access='protected' layout-offset-in-bits='0'>
           <!-- union {OT::USHORT format; OT::CoverageFormat1 format1; OT::CoverageFormat2 format2;} OT::Coverage::u -->
-          <var-decl name='u' type-id='type-id-871' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='924' column='1'/>
+          <var-decl name='u' type-id='type-id-800' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='924' column='1'/>
         </data-member>
         <data-member access='public' static='yes'>
           <!-- static const unsigned int OT::Coverage::min_size -->
@@ -7590,9 +7358,9 @@ 
           <!-- void OT::Coverage::add_coverage<hb_set_digest_t>(hb_set_digest_t*) -->
           <function-decl name='add_coverage&lt;hb_set_digest_t&gt;' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='864' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type 'const OT::Coverage*' -->
-            <parameter type-id='type-id-872' is-artificial='yes'/>
+            <parameter type-id='type-id-801' is-artificial='yes'/>
             <!-- parameter of type 'hb_set_digest_t*' -->
-            <parameter type-id='type-id-873'/>
+            <parameter type-id='type-id-802'/>
             <!-- void -->
             <return type-id='type-id-13'/>
           </function-decl>
@@ -7604,10 +7372,10 @@ 
       <class-decl name='CoverageFormat1' size-in-bits='48' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='629' column='1' id='type-id-623'>
         <member-type access='public'>
           <!-- struct OT::CoverageFormat1::Iter -->
-          <class-decl name='Iter' size-in-bits='128' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='672' column='1' id='type-id-868'>
+          <class-decl name='Iter' size-in-bits='128' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='672' column='1' id='type-id-797'>
             <data-member access='private' layout-offset-in-bits='0'>
               <!-- const OT::CoverageFormat1* OT::CoverageFormat1::Iter::c -->
-              <var-decl name='c' type-id='type-id-874' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='680' column='1'/>
+              <var-decl name='c' type-id='type-id-803' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='680' column='1'/>
             </data-member>
             <data-member access='private' layout-offset-in-bits='64'>
               <!-- unsigned int OT::CoverageFormat1::Iter::i -->
@@ -7631,9 +7399,9 @@ 
           <!-- void OT::CoverageFormat1::add_coverage<hb_set_digest_t>(hb_set_digest_t*) -->
           <function-decl name='add_coverage&lt;hb_set_digest_t&gt;' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='664' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type 'const OT::CoverageFormat1*' -->
-            <parameter type-id='type-id-874' is-artificial='yes'/>
+            <parameter type-id='type-id-803' is-artificial='yes'/>
             <!-- parameter of type 'hb_set_digest_t*' -->
-            <parameter type-id='type-id-873'/>
+            <parameter type-id='type-id-802'/>
             <!-- void -->
             <return type-id='type-id-13'/>
           </function-decl>
@@ -7642,9 +7410,9 @@ 
           <!-- void OT::CoverageFormat1::add_coverage<hb_set_t>(hb_set_t*) -->
           <function-decl name='add_coverage&lt;hb_set_t&gt;' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='664' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type 'const OT::CoverageFormat1*' -->
-            <parameter type-id='type-id-874' is-artificial='yes'/>
+            <parameter type-id='type-id-803' is-artificial='yes'/>
             <!-- parameter of type 'hb_set_t*' -->
-            <parameter type-id='type-id-875'/>
+            <parameter type-id='type-id-804'/>
             <!-- void -->
             <return type-id='type-id-13'/>
           </function-decl>
@@ -7656,10 +7424,10 @@ 
       <class-decl name='CoverageFormat2' size-in-bits='80' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='694' column='1' id='type-id-624'>
         <member-type access='public'>
           <!-- struct OT::CoverageFormat2::Iter -->
-          <class-decl name='Iter' size-in-bits='192' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='769' column='1' id='type-id-869'>
+          <class-decl name='Iter' size-in-bits='192' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='769' column='1' id='type-id-798'>
             <data-member access='private' layout-offset-in-bits='0'>
               <!-- const OT::CoverageFormat2* OT::CoverageFormat2::Iter::c -->
-              <var-decl name='c' type-id='type-id-876' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='791' column='1'/>
+              <var-decl name='c' type-id='type-id-805' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='791' column='1'/>
             </data-member>
             <data-member access='private' layout-offset-in-bits='64'>
               <!-- unsigned int OT::CoverageFormat2::Iter::i -->
@@ -7691,9 +7459,9 @@ 
           <!-- void OT::CoverageFormat2::add_coverage<hb_set_digest_t>(hb_set_digest_t*) -->
           <function-decl name='add_coverage&lt;hb_set_digest_t&gt;' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='761' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type 'const OT::CoverageFormat2*' -->
-            <parameter type-id='type-id-876' is-artificial='yes'/>
+            <parameter type-id='type-id-805' is-artificial='yes'/>
             <!-- parameter of type 'hb_set_digest_t*' -->
-            <parameter type-id='type-id-873'/>
+            <parameter type-id='type-id-802'/>
             <!-- void -->
             <return type-id='type-id-13'/>
           </function-decl>
@@ -7702,9 +7470,9 @@ 
           <!-- void OT::CoverageFormat2::add_coverage<hb_set_t>(hb_set_t*) -->
           <function-decl name='add_coverage&lt;hb_set_t&gt;' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='761' column='1' visibility='default' binding='global' size-in-bits='64'>
             <!-- implicit parameter of type 'const OT::CoverageFormat2*' -->
-            <parameter type-id='type-id-876' is-artificial='yes'/>
+            <parameter type-id='type-id-805' is-artificial='yes'/>
             <!-- parameter of type 'hb_set_t*' -->
-            <parameter type-id='type-id-875'/>
+            <parameter type-id='type-id-804'/>
             <!-- void -->
             <return type-id='type-id-13'/>
           </function-decl>
@@ -7720,7 +7488,7 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='16'>
           <!-- OT::IntType<short unsigned int, 2u> OT::HeadlessArrayOf<OT::IntType<short unsigned int, 2u>, OT::IntType<short unsigned int, 2u> >::array[1] -->
-          <var-decl name='array' type-id='type-id-862' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-open-type-private.hh' line='973' column='1'/>
+          <var-decl name='array' type-id='type-id-791' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-open-type-private.hh' line='973' column='1'/>
         </data-member>
         <data-member access='public' static='yes'>
           <!-- static const unsigned int OT::HeadlessArrayOf<OT::IntType<short unsigned int, 2u>, OT::IntType<short unsigned int, 2u> >::min_size -->
@@ -7733,7 +7501,7 @@ 
       <class-decl name='Ligature' size-in-bits='48' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-gsub-table.hh' line='601' column='1' id='type-id-626'>
         <data-member access='protected' layout-offset-in-bits='0'>
           <!-- OT::GlyphID OT::Ligature::ligGlyph -->
-          <var-decl name='ligGlyph' type-id='type-id-877' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-gsub-table.hh' line='695' column='1'/>
+          <var-decl name='ligGlyph' type-id='type-id-806' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-gsub-table.hh' line='695' column='1'/>
         </data-member>
         <data-member access='protected' layout-offset-in-bits='16'>
           <!-- OT::HeadlessArrayOf<OT::IntType<short unsigned int, 2u>, OT::IntType<short unsigned int, 2u> > OT::Ligature::component -->
@@ -7750,7 +7518,7 @@ 
       <class-decl name='LigatureSet' size-in-bits='32' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-gsub-table.hh' line='705' column='1' id='type-id-627'>
         <data-member access='protected' layout-offset-in-bits='0'>
           <!-- OT::OffsetArrayOf<OT::Ligature> OT::LigatureSet::ligature -->
-          <var-decl name='ligature' type-id='type-id-878' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-gsub-table.hh' line='774' column='1'/>
+          <var-decl name='ligature' type-id='type-id-807' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-gsub-table.hh' line='774' column='1'/>
         </data-member>
         <data-member access='public' static='yes'>
           <!-- static const unsigned int OT::LigatureSet::min_size -->
@@ -7771,7 +7539,7 @@ 
         </data-member>
         <data-member access='protected' layout-offset-in-bits='32'>
           <!-- OT::OffsetArrayOf<OT::LigatureSet> OT::LigatureSubstFormat1::ligatureSet -->
-          <var-decl name='ligatureSet' type-id='type-id-879' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-gsub-table.hh' line='862' column='1'/>
+          <var-decl name='ligatureSet' type-id='type-id-808' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-gsub-table.hh' line='862' column='1'/>
         </data-member>
         <data-member access='public' static='yes'>
           <!-- static const unsigned int OT::LigatureSubstFormat1::min_size -->
@@ -7796,7 +7564,7 @@ 
         </data-member>
         <data-member access='public' layout-offset-in-bits='64'>
           <!-- OT::USHORT OT::Lookup::markFilteringSetX[1] -->
-          <var-decl name='markFilteringSetX' type-id='type-id-880' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='614' column='1'/>
+          <var-decl name='markFilteringSetX' type-id='type-id-809' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh' line='614' column='1'/>
         </data-member>
         <data-member access='public' static='yes'>
           <!-- static const unsigned int OT::Lookup::min_size -->
@@ -7808,7 +7576,7 @@ 
       <!-- struct OT::OffsetTo<OT::Anchor, OT::IntType<short unsigned int, 2u> > -->
       <class-decl name='OffsetTo&lt;OT::Anchor, OT::IntType&lt;short unsigned int, 2u&gt; &gt;' size-in-bits='16' is-struct='yes' visibility='default' filepath='/tmp/legendre/spack-stage/spack-stage-04g73E/harfbuzz-0.9.37/src/hb-open-type-private.hh' line='741' column='1' id='type-id-630'>
         <!-- struct OT::Offset<OT::IntType<short unsigned int, 2u> > -->
-        <base-class access='public' layout-offset-in-bits='0' type-id='type-id-881'/>
+        <base-class access='public' layout-offset-in-bits='0' type-id='type-id-810'/>
         <data-member access='public' static=&#x