Explorar el Código

Merge pull request #13194 from donmccurdy/feat-gltf-draco-extension-v4

GLTFLoader: Implement KHR_draco_mesh_compression
Mr.doob hace 7 años
padre
commit
b23b2d7847

+ 14 - 0
docs/examples/loaders/GLTFLoader.html

@@ -32,6 +32,11 @@
 					KHR_materials_pbrSpecularGlossiness
 				</a>
 			</li>
+			<li>
+				<a target="_blank" href="https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_draco_mesh_compression">
+					KHR_draco_mesh_compression
+				</a>
+			</li>
 			<li>
 				KHR_lights (experimental)
 			</li>
@@ -43,6 +48,10 @@
 			// Instantiate a loader
 			var loader = new THREE.GLTFLoader();
 
+			// Optional: Provide a DRACOLoader instance to decode compressed mesh data
+			THREE.DRACOLoader.setDecoderPath( '/examples/js/loaders/draco' );
+			loader.setDRACOLoader( new THREE.DRACOLoader() );
+
 			// Load a glTF resource
 			loader.load(
 				// resource URL
@@ -124,6 +133,11 @@
 		[page:String value] — The crossOrigin string to implement CORS for loading the url from a different domain that allows CORS.
 		</div>
 
+		<h3>[method:null setDRACOLoader]( [page:DRACOLoader dracoLoader] )</h3>
+		<div>
+		[page:DRACOLoader dracoLoader] — Instance of THREE.DRACOLoader, to be used for decoding assets compressed with the KHR_draco_mesh_compression extension.
+		</div>
+
 		<h3>[method:null parse]( [page:ArrayBuffer data], [page:String path], [page:Function onLoad], [page:Function onError] )</h3>
 		<div>
 		[page:ArrayBuffer data] — glTF asset to parse, as an ArrayBuffer or <em>JSON</em> string.<br />

+ 144 - 59
examples/js/loaders/GLTFLoader.js

@@ -11,6 +11,7 @@ THREE.GLTFLoader = ( function () {
 	function GLTFLoader( manager ) {
 
 		this.manager = ( manager !== undefined ) ? manager : THREE.DefaultLoadingManager;
+		this.dracoLoader = null;
 
 	}
 
@@ -68,6 +69,12 @@ THREE.GLTFLoader = ( function () {
 
 		},
 
+		setDRACOLoader: function ( dracoLoader ) {
+
+			this.dracoLoader = dracoLoader;
+
+		},
+
 		parse: function ( data, path, onLoad, onError ) {
 
 			var content;
@@ -127,6 +134,12 @@ THREE.GLTFLoader = ( function () {
 
 				}
 
+				if ( json.extensionsUsed.indexOf( EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ) >= 0 ) {
+
+					extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ] = new GLTFDracoMeshCompressionExtension( this.dracoLoader );
+
+				}
+
 			}
 
 			console.time( 'GLTFLoader' );
@@ -201,6 +214,7 @@ THREE.GLTFLoader = ( function () {
 
 	var EXTENSIONS = {
 		KHR_BINARY_GLTF: 'KHR_binary_glTF',
+		KHR_DRACO_MESH_COMPRESSION: 'KHR_draco_mesh_compression',
 		KHR_LIGHTS: 'KHR_lights',
 		KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS: 'KHR_materials_pbrSpecularGlossiness'
 	};
@@ -357,6 +371,51 @@ THREE.GLTFLoader = ( function () {
 
 	}
 
+	/**
+	 * DRACO Mesh Compression Extension
+	 *
+	 * Specification: https://github.com/KhronosGroup/glTF/pull/874
+	 */
+	function GLTFDracoMeshCompressionExtension ( dracoLoader ) {
+
+		if ( ! dracoLoader ) {
+
+			throw new Error( 'THREE.GLTFLoader: No DRACOLoader instance provided.' );
+
+		}
+
+		this.name = EXTENSIONS.KHR_DRACO_MESH_COMPRESSION;
+		this.dracoLoader = dracoLoader;
+
+	}
+
+	GLTFDracoMeshCompressionExtension.prototype.decodePrimitive = function ( primitive, parser ) {
+
+		var dracoLoader = this.dracoLoader;
+		var bufferViewIndex = primitive.extensions[ this.name ].bufferView;
+		var gltfAttributeMap = primitive.extensions[ this.name ].attributes;
+		var threeAttributeMap = {};
+
+		for ( var attributeName in gltfAttributeMap ) {
+
+			if ( !( attributeName in ATTRIBUTES ) ) continue;
+
+			threeAttributeMap[ ATTRIBUTES[ attributeName ] ] = gltfAttributeMap[ attributeName ];
+
+		}
+
+		return parser.getDependency( 'bufferView', bufferViewIndex ).then( function ( bufferView ) {
+
+			return new Promise( function ( resolve ) {
+
+				dracoLoader.decodeDracoFile( bufferView, resolve, threeAttributeMap );
+
+			} );
+
+		} );
+
+	};
+
 	/**
 	 * Specular-Glossiness Extension
 	 *
@@ -941,6 +1000,22 @@ THREE.GLTFLoader = ( function () {
 		'MAT4': 16
 	};
 
+	var ATTRIBUTES = {
+		POSITION: 'position',
+		NORMAL: 'normal',
+		TEXCOORD_0: 'uv',
+		TEXCOORD0: 'uv', // deprecated
+		TEXCOORD: 'uv', // deprecated
+		TEXCOORD_1: 'uv2',
+		COLOR_0: 'color',
+		COLOR0: 'color', // deprecated
+		COLOR: 'color', // deprecated
+		WEIGHTS_0: 'skinWeight',
+		WEIGHT: 'skinWeight', // deprecated
+		JOINTS_0: 'skinIndex',
+		JOINT: 'skinIndex' // deprecated
+	}
+
 	var PATH_PROPERTIES = {
 		scale: 'scale',
 		translation: 'position',
@@ -1013,8 +1088,6 @@ THREE.GLTFLoader = ( function () {
 	/**
 	 * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#morph-targets
 	 *
-	 * TODO: Implement support for morph targets on TANGENT attribute.
-	 *
 	 * @param {THREE.Mesh} mesh
 	 * @param {GLTF.Mesh} meshDef
 	 * @param {GLTF.Primitive} primitiveDef
@@ -1177,7 +1250,7 @@ THREE.GLTFLoader = ( function () {
 
 			if ( isPrimitiveEqual( cached.primitive, newPrimitive ) ) {
 
-				return cached.geometry;
+				return cached.promise;
 
 			}
 
@@ -1480,6 +1553,15 @@ THREE.GLTFLoader = ( function () {
 
 		var accessorDef = this.json.accessors[ accessorIndex ];
 
+		if ( accessorDef.bufferView === undefined && accessorDef.sparse === undefined ) {
+
+			// Ignore empty accessors, which may be used to declare runtime
+			// information about attributes coming from another source (e.g. Draco
+			// compression extension).
+			return null;
+
+		}
+
 		var pendingBufferViews = [];
 
 		if ( accessorDef.bufferView !== undefined ) {
@@ -1873,6 +1955,36 @@ THREE.GLTFLoader = ( function () {
 
 	};
 
+	/**
+	 * @param  {THREE.BufferGeometry} geometry
+	 * @param  {GLTF.Primitive} primitiveDef
+	 * @param  {Array<THREE.BufferAttribute>} accessors
+	 */
+	function addPrimitiveAttributes ( geometry, primitiveDef, accessors ) {
+
+		var attributes = primitiveDef.attributes;
+
+		for ( var gltfAttributeName in attributes ) {
+
+			var threeAttributeName = ATTRIBUTES[ gltfAttributeName ];
+			var bufferAttribute = accessors[ attributes[ gltfAttributeName ] ];
+
+			// Skip attributes already provided by e.g. Draco extension.
+			if ( !threeAttributeName ) continue;
+			if ( threeAttributeName in geometry.attributes ) continue;
+
+			geometry.addAttribute( threeAttributeName, bufferAttribute );
+
+		}
+
+		if ( primitiveDef.indices !== undefined && !geometry.index ) {
+
+			geometry.setIndex( accessors[ primitiveDef.indices ] );
+
+		}
+
+	}
+
 	/**
 	 * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#geometry
 	 * @param {Array<Object>} primitives
@@ -1880,11 +1992,14 @@ THREE.GLTFLoader = ( function () {
 	 */
 	GLTFParser.prototype.loadGeometries = function ( primitives ) {
 
+		var parser = this;
+		var extensions = this.extensions;
 		var cache = this.primitiveCache;
 
 		return this.getDependencies( 'accessor' ).then( function ( accessors ) {
 
 			var geometries = [];
+			var pending = [];
 
 			for ( var i = 0, il = primitives.length; i < il; i ++ ) {
 
@@ -1893,82 +2008,48 @@ THREE.GLTFLoader = ( function () {
 				// See if we've already created this geometry
 				var cached = getCachedGeometry( cache, primitive );
 
+				var geometry;
+
 				if ( cached ) {
 
 					// Use the cached geometry if it exists
-					geometries.push( cached );
+					pending.push( cached.then( function ( geometry ) {
 
-				} else {
+						geometries.push( geometry );
 
-					// Otherwise create a new geometry
-					var geometry = new THREE.BufferGeometry();
+					} ) );
 
-					var attributes = primitive.attributes;
+				} else if ( primitive.extensions && primitive.extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ] ) {
 
-					for ( var attributeId in attributes ) {
+					// Use DRACO geometry if available
+					var geometryPromise = extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ]
+						.decodePrimitive( primitive, parser )
+						.then( function ( geometry ) {
 
-						var attributeEntry = attributes[ attributeId ];
+							addPrimitiveAttributes( geometry, primitive, accessors );
 
-						var bufferAttribute = accessors[ attributeEntry ];
+							geometries.push( geometry );
 
-						switch ( attributeId ) {
+							return geometry;
 
-							case 'POSITION':
+						} );
 
-								geometry.addAttribute( 'position', bufferAttribute );
-								break;
-
-							case 'NORMAL':
+					cache.push( { primitive: primitive, promise: geometryPromise  } );
 
-								geometry.addAttribute( 'normal', bufferAttribute );
-								break;
+					pending.push( geometryPromise );
 
-							case 'TEXCOORD_0':
-							case 'TEXCOORD0':
-							case 'TEXCOORD':
-
-								geometry.addAttribute( 'uv', bufferAttribute );
-								break;
+				} else  {
 
-							case 'TEXCOORD_1':
-
-								geometry.addAttribute( 'uv2', bufferAttribute );
-								break;
-
-							case 'COLOR_0':
-							case 'COLOR0':
-							case 'COLOR':
-
-								geometry.addAttribute( 'color', bufferAttribute );
-								break;
-
-							case 'WEIGHTS_0':
-							case 'WEIGHT': // WEIGHT semantic deprecated.
-
-								geometry.addAttribute( 'skinWeight', bufferAttribute );
-								break;
-
-							case 'JOINTS_0':
-							case 'JOINT': // JOINT semantic deprecated.
-
-								geometry.addAttribute( 'skinIndex', bufferAttribute );
-								break;
-
-						}
-
-					}
-
-					if ( primitive.indices !== undefined ) {
-
-						geometry.setIndex( accessors[ primitive.indices ] );
+					// Otherwise create a new geometry
+					geometry = new THREE.BufferGeometry();
 
-					}
+					addPrimitiveAttributes( geometry, primitive, accessors );
 
 					// Cache this geometry
 					cache.push( {
 
 						primitive: primitive,
-						geometry: geometry
+						promise: Promise.resolve( geometry )
 
 					} );
 
@@ -1978,7 +2059,11 @@ THREE.GLTFLoader = ( function () {
 
 			}
 
-			return geometries;
+			return Promise.all( pending ).then( function () {
+
+				return geometries;
+
+			} );
 
 		} );
 

+ 24 - 17
examples/js/loaders/draco/DRACOLoader.js

@@ -24,8 +24,6 @@ THREE.DRACOLoader = function(manager) {
     this.verbosity = 0;
     this.attributeOptions = {};
     this.drawMode = THREE.TrianglesDrawMode;
-    // User defined unique id for attributes.
-    this.attributeUniqueIdMap = {};
     // Native Draco attribute type to Three.JS attribute type.
     this.nativeAttributeMap = {
       'position' : 'POSITION',
@@ -104,14 +102,15 @@ THREE.DRACOLoader.prototype = {
      */
     decodeDracoFile: function(rawBuffer, callback, attributeUniqueIdMap) {
       var scope = this;
-      this.attributeUniqueIdMap = attributeUniqueIdMap || {};
       THREE.DRACOLoader.getDecoderModule()
           .then( function ( module ) {
-            scope.decodeDracoFileInternal( rawBuffer, module.decoder, callback );
+            scope.decodeDracoFileInternal( rawBuffer, module.decoder, callback,
+              attributeUniqueIdMap || {});
           });
     },
 
-    decodeDracoFileInternal: function(rawBuffer, dracoDecoder, callback) {
+    decodeDracoFileInternal: function(rawBuffer, dracoDecoder, callback,
+                                      attributeUniqueIdMap) {
       /*
        * Here is how to use Draco Javascript decoder and get the geometry.
        */
@@ -137,7 +136,7 @@ THREE.DRACOLoader.prototype = {
         throw new Error(errorMsg);
       }
       callback(this.convertDracoGeometryTo3JS(dracoDecoder, decoder,
-          geometryType, buffer));
+          geometryType, buffer, attributeUniqueIdMap));
     },
 
     addAttributeToGeometry: function(dracoDecoder, decoder, dracoGeometry,
@@ -168,7 +167,7 @@ THREE.DRACOLoader.prototype = {
     },
 
     convertDracoGeometryTo3JS: function(dracoDecoder, decoder, geometryType,
-                                        buffer) {
+                                        buffer, attributeUniqueIdMap) {
         if (this.getAttributeOptions('position').skipDequantization === true) {
           decoder.SkipAttributeTransform(dracoDecoder.POSITION);
         }
@@ -236,7 +235,7 @@ THREE.DRACOLoader.prototype = {
         for (var attributeName in this.nativeAttributeMap) {
           // The native attribute type is only used when no unique Id is
           // provided. For example, loading .drc files.
-          if (this.attributeUniqueIdMap[attributeName] === undefined) {
+          if (attributeUniqueIdMap[attributeName] === undefined) {
             var attId = decoder.GetAttributeId(dracoGeometry,
                 dracoDecoder[this.nativeAttributeMap[attributeName]]);
             if (attId !== -1) {
@@ -251,8 +250,8 @@ THREE.DRACOLoader.prototype = {
         }
 
         // Add attributes of user specified unique id. E.g. GLTF models.
-        for (var attributeName in this.attributeUniqueIdMap) {
-          var attributeId = this.attributeUniqueIdMap[attributeName];
+        for (var attributeName in attributeUniqueIdMap) {
+          var attributeId = attributeUniqueIdMap[attributeName];
           var attribute = decoder.GetAttributeByUniqueId(dracoGeometry,
                                                          attributeId);
           this.addAttributeToGeometry(dracoDecoder, decoder, dracoGeometry,
@@ -353,18 +352,26 @@ THREE.DRACOLoader.setDecoderPath = function ( path ) {
 THREE.DRACOLoader.setDecoderConfig = function ( config ) {
   var wasmBinary = THREE.DRACOLoader.decoderConfig.wasmBinary;
   THREE.DRACOLoader.decoderConfig = config || {};
-  THREE.DRACOLoader.decoderModulePromise = null;
+  THREE.DRACOLoader.releaseDecoderModule();
 
   // Reuse WASM binary.
   if ( wasmBinary ) THREE.DRACOLoader.decoderConfig.wasmBinary = wasmBinary;
 };
 
- /**
-  * Gets WebAssembly or asm.js singleton instance of DracoDecoderModule
-  * after testing for browser support. Returns Promise that resolves when
-  * module is available.
-  * @return {Promise<{decoder: DracoDecoderModule}>}
-  */
+/**
+ * Releases the singleton DracoDecoderModule instance. Module will be recreated
+ * with the next decoding call.
+ */
+THREE.DRACOLoader.releaseDecoderModule = function () {
+  THREE.DRACOLoader.decoderModulePromise = null;
+};
+
+/**
+ * Gets WebAssembly or asm.js singleton instance of DracoDecoderModule
+ * after testing for browser support. Returns Promise that resolves when
+ * module is available.
+ * @return {Promise<{decoder: DracoDecoderModule}>}
+ */
 THREE.DRACOLoader.getDecoderModule = function () {
   var scope = this;
   var path = THREE.DRACOLoader.decoderPath;

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 0
examples/js/loaders/draco/gltf/draco_decoder.js


BIN
examples/js/loaders/draco/gltf/draco_decoder.wasm


+ 115 - 0
examples/js/loaders/draco/gltf/draco_wasm_wrapper.js

@@ -0,0 +1,115 @@
+var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(c,f,n){c!=Array.prototype&&c!=Object.prototype&&(c[f]=n.value)};$jscomp.getGlobal=function(c){return"undefined"!=typeof window&&window===c?c:"undefined"!=typeof global&&null!=global?global:c};$jscomp.global=$jscomp.getGlobal(this);
+$jscomp.polyfill=function(c,f,n,D){if(f){n=$jscomp.global;c=c.split(".");for(D=0;D<c.length-1;D++){var g=c[D];g in n||(n[g]={});n=n[g]}c=c[c.length-1];D=n[c];f=f(D);f!=D&&null!=f&&$jscomp.defineProperty(n,c,{configurable:!0,writable:!0,value:f})}};$jscomp.polyfill("Math.imul",function(c){return c?c:function(f,c){f=Number(f);c=Number(c);var n=f&65535,g=c&65535;return n*g+((f>>>16&65535)*g+n*(c>>>16&65535)<<16>>>0)|0}},"es6","es3");
+$jscomp.polyfill("Math.clz32",function(c){return c?c:function(f){f=Number(f)>>>0;if(0===f)return 32;var c=0;0===(f&4294901760)&&(f<<=16,c+=16);0===(f&4278190080)&&(f<<=8,c+=8);0===(f&4026531840)&&(f<<=4,c+=4);0===(f&3221225472)&&(f<<=2,c+=2);0===(f&2147483648)&&c++;return c}},"es6","es3");$jscomp.polyfill("Math.trunc",function(c){return c?c:function(c){c=Number(c);if(isNaN(c)||Infinity===c||-Infinity===c||0===c)return c;var f=Math.floor(Math.abs(c));return 0>c?-f:f}},"es6","es3");
+$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(c){return $jscomp.SYMBOL_PREFIX+(c||"")+$jscomp.symbolCounter_++};
+$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var c=$jscomp.global.Symbol.iterator;c||(c=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[c]&&$jscomp.defineProperty(Array.prototype,c,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(c){var f=0;return $jscomp.iteratorPrototype(function(){return f<c.length?{done:!1,value:c[f++]}:{done:!0}})};
+$jscomp.iteratorPrototype=function(c){$jscomp.initSymbolIterator();c={next:c};c[$jscomp.global.Symbol.iterator]=function(){return this};return c};$jscomp.makeIterator=function(c){$jscomp.initSymbolIterator();var f=c[Symbol.iterator];return f?f.call(c):$jscomp.arrayIterator(c)};$jscomp.FORCE_POLYFILL_PROMISE=!1;
+$jscomp.polyfill("Promise",function(c){function f(){this.batch_=null}function n(c){return c instanceof g?c:new g(function(f,R){f(c)})}if(c&&!$jscomp.FORCE_POLYFILL_PROMISE)return c;f.prototype.asyncExecute=function(c){null==this.batch_&&(this.batch_=[],this.asyncExecuteBatch_());this.batch_.push(c);return this};f.prototype.asyncExecuteBatch_=function(){var c=this;this.asyncExecuteFunction(function(){c.executeBatch_()})};var D=$jscomp.global.setTimeout;f.prototype.asyncExecuteFunction=function(c){D(c,
+0)};f.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var c=this.batch_;this.batch_=[];for(var f=0;f<c.length;++f){var g=c[f];delete c[f];try{g()}catch(v){this.asyncThrow_(v)}}}this.batch_=null};f.prototype.asyncThrow_=function(c){this.asyncExecuteFunction(function(){throw c;})};var g=function(c){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];var f=this.createResolveAndReject_();try{c(f.resolve,f.reject)}catch(u){f.reject(u)}};g.prototype.createResolveAndReject_=
+function(){function c(c){return function(R){g||(g=!0,c.call(f,R))}}var f=this,g=!1;return{resolve:c(this.resolveTo_),reject:c(this.reject_)}};g.prototype.resolveTo_=function(c){if(c===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(c instanceof g)this.settleSameAsPromise_(c);else{a:switch(typeof c){case "object":var f=null!=c;break a;case "function":f=!0;break a;default:f=!1}f?this.resolveToNonPromiseObj_(c):this.fulfill_(c)}};g.prototype.resolveToNonPromiseObj_=function(c){var f=
+void 0;try{f=c.then}catch(u){this.reject_(u);return}"function"==typeof f?this.settleSameAsThenable_(f,c):this.fulfill_(c)};g.prototype.reject_=function(c){this.settle_(2,c)};g.prototype.fulfill_=function(c){this.settle_(1,c)};g.prototype.settle_=function(c,f){if(0!=this.state_)throw Error("Cannot settle("+c+", "+f|"): Promise already settled in state"+this.state_);this.state_=c;this.result_=f;this.executeOnSettledCallbacks_()};g.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var c=
+this.onSettledCallbacks_,f=0;f<c.length;++f)c[f].call(),c[f]=null;this.onSettledCallbacks_=null}};var ha=new f;g.prototype.settleSameAsPromise_=function(c){var f=this.createResolveAndReject_();c.callWhenSettled_(f.resolve,f.reject)};g.prototype.settleSameAsThenable_=function(c,f){var g=this.createResolveAndReject_();try{c.call(f,g.resolve,g.reject)}catch(v){g.reject(v)}};g.prototype.then=function(c,f){function n(c,f){return"function"==typeof c?function(f){try{v(c(f))}catch(aa){R(aa)}}:f}var v,R,D=
+new g(function(c,f){v=c;R=f});this.callWhenSettled_(n(c,v),n(f,R));return D};g.prototype.catch=function(c){return this.then(void 0,c)};g.prototype.callWhenSettled_=function(c,f){function g(){switch(n.state_){case 1:c(n.result_);break;case 2:f(n.result_);break;default:throw Error("Unexpected state: "+n.state_);}}var n=this;null==this.onSettledCallbacks_?ha.asyncExecute(g):this.onSettledCallbacks_.push(function(){ha.asyncExecute(g)})};g.resolve=n;g.reject=function(c){return new g(function(f,g){g(c)})};
+g.race=function(c){return new g(function(f,g){for(var v=$jscomp.makeIterator(c),u=v.next();!u.done;u=v.next())n(u.value).callWhenSettled_(f,g)})};g.all=function(c){var f=$jscomp.makeIterator(c),u=f.next();return u.done?n([]):new g(function(c,g){function D(f){return function(g){v[f]=g;L--;0==L&&c(v)}}var v=[],L=0;do v.push(void 0),L++,n(u.value).callWhenSettled_(D(v.length-1),g),u=f.next();while(!u.done)})};return g},"es6","es3");
+var DracoDecoderModule=function(c){function f(a,b){a||S("Assertion failed: "+b)}function n(e,b){if(0===b||!e)return"";for(var d=0,l,c=0;;){l=O[e+c>>0];d|=l;if(0==l&&!b)break;c++;if(b&&c==b)break}b||(b=c);l="";if(128>d){for(;0<b;)d=String.fromCharCode.apply(String,O.subarray(e,e+Math.min(b,1024))),l=l?l+d:d,e+=1024,b-=1024;return l}return a.UTF8ToString(e)}function D(a){return a.replace(/__Z[\w\d_]+/g,function(a){return a===a?a:a+" ["+a+"]"})}function g(){a:{var e=Error();if(!e.stack){try{throw Error(0);
+}catch(b){e=b}if(!e.stack){e="(no stack trace available)";break a}}e=e.stack.toString()}a.extraStackTrace&&(e+="\n"+a.extraStackTrace());return D(e)}function ha(a,b){0<a%b&&(a+=b-a%b);return a}function R(){a.HEAP8=ba=new Int8Array(E);a.HEAP16=ua=new Int16Array(E);a.HEAP32=w=new Int32Array(E);a.HEAPU8=O=new Uint8Array(E);a.HEAPU16=Ja=new Uint16Array(E);a.HEAPU32=Ka=new Uint32Array(E);a.HEAPF32=La=new Float32Array(E);a.HEAPF64=Ma=new Float64Array(E)}function Ha(){var e=a.usingWasm?va:Na,b=2147483648-
+e;if(w[X>>2]>b)return!1;var d=x;for(x=Math.max(x,db);x<w[X>>2];)x=536870912>=x?ha(2*x,e):Math.min(ha((3*x+2147483648)/4,e),b);e=a.reallocBuffer(x);if(!e||e.byteLength!=x)return x=d,!1;a.buffer=E=e;R();return!0}function u(e){for(;0<e.length;){var b=e.shift();if("function"==typeof b)b();else{var d=b.func;"number"===typeof d?void 0===b.arg?a.dynCall_v(d):a.dynCall_vi(d,b.arg):d(void 0===b.arg?null:b.arg)}}}function v(e){ca++;a.monitorRunDependencies&&a.monitorRunDependencies(ca)}function Ia(e){ca--;
+a.monitorRunDependencies&&a.monitorRunDependencies(ca);0==ca&&(null!==wa&&(clearInterval(wa),wa=null),oa&&(e=oa,oa=null,e()))}function ia(){return!!ia.uncaught_exception}function ma(){var e=z.last;if(!e)return(m.setTempRet0(0),0)|0;var b=z.infos[e],d=b.type;if(!d)return(m.setTempRet0(0),e)|0;var l=Array.prototype.slice.call(arguments);a.___cxa_is_pointer_type(d);ma.buffer||(ma.buffer=Oa(4));w[ma.buffer>>2]=e;e=ma.buffer;for(var c=0;c<l.length;c++)if(l[c]&&a.___cxa_can_catch(l[c],d,e))return e=w[e>>
+2],b.adjusted=e,(m.setTempRet0(l[c]),e)|0;e=w[e>>2];return(m.setTempRet0(d),e)|0}function L(e,b){t.varargs=b;try{var d=t.get(),l=t.get(),c=t.get();e=0;L.buffer||(L.buffers=[null,[],[]],L.printChar=function(b,e){var d=L.buffers[b];f(d);if(0===e||10===e){b=1===b?a.print:a.printErr;a:{for(var l=e=0;d[l];)++l;if(16<l-e&&d.subarray&&Pa)e=Pa.decode(d.subarray(e,l));else for(l="";;){var c=d[e++];if(!c){e=l;break a}if(c&128){var g=d[e++]&63;if(192==(c&224))l+=String.fromCharCode((c&31)<<6|g);else{var h=d[e++]&
+63;if(224==(c&240))c=(c&15)<<12|g<<6|h;else{var F=d[e++]&63;if(240==(c&248))c=(c&7)<<18|g<<12|h<<6|F;else{var k=d[e++]&63;if(248==(c&252))c=(c&3)<<24|g<<18|h<<12|F<<6|k;else{var pa=d[e++]&63;c=(c&1)<<30|g<<24|h<<18|F<<12|k<<6|pa}}}65536>c?l+=String.fromCharCode(c):(c-=65536,l+=String.fromCharCode(55296|c>>10,56320|c&1023))}}else l+=String.fromCharCode(c)}}b(e);d.length=0}else d.push(e)});for(b=0;b<c;b++){for(var g=w[l+8*b>>2],h=w[l+(8*b+4)>>2],k=0;k<h;k++)L.printChar(d,O[g+k]);e+=h}return e}catch(xa){return"undefined"!==
+typeof FS&&xa instanceof FS.ErrnoError||S(xa),-xa.errno}}function na(e,b){na.seen||(na.seen={});e in na.seen||(a.dynCall_v(b),na.seen[e]=1)}function aa(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}function ya(e){function b(){if(!a.calledRun&&(a.calledRun=!0,!ja)){Qa||(Qa=!0,u(Ra));u(Sa);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)Ta.unshift(a.postRun.shift());
+u(Ta)}}null===Ua&&(Ua=Date.now());if(!(0<ca)){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)Va.unshift(a.preRun.shift());u(Va);0<ca||a.calledRun||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1);b()},1)):b())}}function S(e){if(a.onAbort)a.onAbort(e);void 0!==e?(a.print(e),a.printErr(e),e=JSON.stringify(e)):e="";ja=!0;var b="abort("+e+") at "+g()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";
+Wa&&Wa.forEach(function(a){b=a(b,e)});throw b;}function r(){}function B(a){return(a||r).__cache__}function T(a,b){var e=B(b),c=e[a];if(c)return c;c=Object.create((b||r).prototype);c.ptr=a;return e[a]=c}function U(a){if("string"===typeof a){for(var b=0,e=0;e<a.length;++e){var c=a.charCodeAt(e);55296<=c&&57343>=c&&(c=65536+((c&1023)<<10)|a.charCodeAt(++e)&1023);127>=c?++b:b=2047>=c?b+2:65535>=c?b+3:2097151>=c?b+4:67108863>=c?b+5:b+6}b=Array(b+1);e=0;c=b.length;if(0<c){c=e+c-1;for(var f=0;f<a.length;++f){var g=
+a.charCodeAt(f);55296<=g&&57343>=g&&(g=65536+((g&1023)<<10)|a.charCodeAt(++f)&1023);if(127>=g){if(e>=c)break;b[e++]=g}else{if(2047>=g){if(e+1>=c)break;b[e++]=192|g>>6}else{if(65535>=g){if(e+2>=c)break;b[e++]=224|g>>12}else{if(2097151>=g){if(e+3>=c)break;b[e++]=240|g>>18}else{if(67108863>=g){if(e+4>=c)break;b[e++]=248|g>>24}else{if(e+5>=c)break;b[e++]=252|g>>30;b[e++]=128|g>>24&63}b[e++]=128|g>>18&63}b[e++]=128|g>>12&63}b[e++]=128|g>>6&63}b[e++]=128|g&63}}b[e]=0}a=k.alloc(b,ba);k.copy(b,ba,a)}return a}
+function A(){throw"cannot construct a Status, no constructor in IDL";}function G(){this.ptr=gb();B(G)[this.ptr]=this}function H(){this.ptr=hb();B(H)[this.ptr]=this}function p(){this.ptr=ib();B(p)[this.ptr]=this}function K(){this.ptr=jb();B(K)[this.ptr]=this}function y(){this.ptr=kb();B(y)[this.ptr]=this}function q(){this.ptr=lb();B(q)[this.ptr]=this}function I(){this.ptr=mb();B(I)[this.ptr]=this}function V(){this.ptr=nb();B(V)[this.ptr]=this}function M(){this.ptr=ob();B(M)[this.ptr]=this}function h(){this.ptr=
+pb();B(h)[this.ptr]=this}function C(){this.ptr=qb();B(C)[this.ptr]=this}function Y(){throw"cannot construct a VoidPtr, no constructor in IDL";}function J(){this.ptr=rb();B(J)[this.ptr]=this}function N(){this.ptr=sb();B(N)[this.ptr]=this}var a=c=c||{},Xa=!1,Ya=!1;a.onRuntimeInitialized=function(){Xa=!0;if(Ya&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.onModuleParsed=function(){Ya=!0;if(Xa&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.isVersionSupported=function(a){if("string"!==
+typeof a)return!1;a=a.split(".");return 2>a.length||3<a.length?!1:1==a[0]&&0<=a[1]&&2>=a[1]?!0:0!=a[0]||10<a[1]?!1:!0};a||(a=("undefined"!==typeof c?c:null)||{});var qa={},Z;for(Z in a)a.hasOwnProperty(Z)&&(qa[Z]=a[Z]);var ka=!1,fa=!1,la=!1,ra=!1;if(a.ENVIRONMENT)if("WEB"===a.ENVIRONMENT)ka=!0;else if("WORKER"===a.ENVIRONMENT)fa=!0;else if("NODE"===a.ENVIRONMENT)la=!0;else if("SHELL"===a.ENVIRONMENT)ra=!0;else throw Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");
+else ka="object"===typeof window,fa="function"===typeof importScripts,la="object"===typeof process&&"function"===typeof require&&!ka&&!fa,ra=!ka&&!la&&!fa;if(la){a.print||(a.print=console.log);a.printErr||(a.printErr=console.warn);var za,Aa;a.read=function(a,b){za||(za=require("fs"));Aa||(Aa=require("path"));a=Aa.normalize(a);a=za.readFileSync(a);return b?a:a.toString()};a.readBinary=function(e){e=a.read(e,!0);e.buffer||(e=new Uint8Array(e));f(e.buffer);return e};a.thisProgram||(a.thisProgram=1<process.argv.length?
+process.argv[1].replace(/\\/g,"/"):"unknown-program");a.arguments=process.argv.slice(2);process.on("uncaughtException",function(a){if(!(a instanceof aa))throw a;});a.inspect=function(){return"[Emscripten Module object]"}}else if(ra)a.print||(a.print=print),"undefined"!=typeof printErr&&(a.printErr=printErr),a.read="undefined"!=typeof read?function(a){return read(a)}:function(){throw"no read() available";},a.readBinary=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));
+a=read(a,"binary");f("object"===typeof a);return a},"undefined"!=typeof scriptArgs?a.arguments=scriptArgs:"undefined"!=typeof arguments&&(a.arguments=arguments),"function"===typeof quit&&(a.quit=function(a,b){quit(a)});else if(ka||fa)a.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},fa&&(a.readBinary=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),a.readAsync=function(a,
+b,d){var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=function(){200==e.status||0==e.status&&e.response?b(e.response):d()};e.onerror=d;e.send(null)},"undefined"!=typeof arguments&&(a.arguments=arguments),"undefined"!==typeof console?(a.print||(a.print=function(a){console.log(a)}),a.printErr||(a.printErr=function(a){console.warn(a)})):a.print||(a.print=function(a){}),"undefined"===typeof a.setWindowTitle&&(a.setWindowTitle=function(a){document.title=a});else throw Error("Unknown runtime environment. Where are we?");
+a.print||(a.print=function(){});a.printErr||(a.printErr=a.print);a.arguments||(a.arguments=[]);a.thisProgram||(a.thisProgram="./this.program");a.quit||(a.quit=function(a,b){throw b;});a.print=a.print;a.printErr=a.printErr;a.preRun=[];a.postRun=[];for(Z in qa)qa.hasOwnProperty(Z)&&(a[Z]=qa[Z]);qa=void 0;var m={setTempRet0:function(a){return tempRet0=a},getTempRet0:function(){return tempRet0},stackSave:function(){return P},stackRestore:function(a){P=a},getNativeTypeSize:function(a){switch(a){case "i1":case "i8":return 1;
+case "i16":return 2;case "i32":return 4;case "i64":return 8;case "float":return 4;case "double":return 8;default:return"*"===a[a.length-1]?m.QUANTUM_SIZE:"i"===a[0]?(a=parseInt(a.substr(1)),f(0===a%8),a/8):0}},getNativeFieldSize:function(a){return Math.max(m.getNativeTypeSize(a),m.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(a,b){"double"===b||"i64"===b?a&7&&(f(4===(a&7)),a+=4):f(0===(a&3));return a},getAlignSize:function(a,b,d){return d||"i64"!=a&&"double"!=a?a?Math.min(b||(a?m.getNativeFieldSize(a):
+0),m.QUANTUM_SIZE):Math.min(b,8):8},dynCall:function(e,b,d){return d&&d.length?a["dynCall_"+e].apply(null,[b].concat(d)):a["dynCall_"+e].call(null,b)},functionPointers:[],addFunction:function(a){for(var b=0;b<m.functionPointers.length;b++)if(!m.functionPointers[b])return m.functionPointers[b]=a,2*(1+b);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.";},removeFunction:function(a){m.functionPointers[(a-2)/2]=null},warnOnce:function(e){m.warnOnce.shown||
+(m.warnOnce.shown={});m.warnOnce.shown[e]||(m.warnOnce.shown[e]=1,a.printErr(e))},funcWrappers:{},getFuncWrapper:function(a,b){if(a){f(b);m.funcWrappers[b]||(m.funcWrappers[b]={});var d=m.funcWrappers[b];d[a]||(d[a]=1===b.length?function(){return m.dynCall(b,a)}:2===b.length?function(d){return m.dynCall(b,a,[d])}:function(){return m.dynCall(b,a,Array.prototype.slice.call(arguments))});return d[a]}},getCompilerSetting:function(a){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work";
+},stackAlloc:function(a){var b=P;P=P+a|0;P=P+15&-16;return b},staticAlloc:function(a){var b=W;W=W+a|0;W=W+15&-16;return b},dynamicAlloc:function(a){var b=w[X>>2];a=(b+a+15|0)&-16;w[X>>2]=a;return a>=x&&!Ha()?(w[X>>2]=b,0):b},alignMemory:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},makeBigInt:function(a,b,d){return d?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},GLOBAL_BASE:1024,QUANTUM_SIZE:4,__dummy__:0},ja=0,Pa="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;"undefined"!==
+typeof TextDecoder&&new TextDecoder("utf-16le");var va=65536,Na=16777216,db=16777216,ba,O,ua,Ja,w,Ka,La,Ma,W,Ba,P,sa,Ca,X;var Da=W=Ba=P=sa=Ca=X=0;a.reallocBuffer||(a.reallocBuffer=function(a){try{if(ArrayBuffer.transfer)var b=ArrayBuffer.transfer(E,a);else{var d=ba;b=new ArrayBuffer(a);(new Int8Array(b)).set(d)}}catch(l){return!1}return tb(b)?b:!1});try{var Ea=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);Ea(new ArrayBuffer(4))}catch(e){Ea=function(a){return a.byteLength}}var Fa=
+a.TOTAL_STACK||5242880,x=a.TOTAL_MEMORY||16777216;x<Fa&&a.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+x+"! (TOTAL_STACK="+Fa+")");if(a.buffer)var E=a.buffer;else"object"===typeof WebAssembly&&"function"===typeof WebAssembly.Memory?(a.wasmMemory=new WebAssembly.Memory({initial:x/va}),E=a.wasmMemory.buffer):E=new ArrayBuffer(x);R();w[0]=1668509029;ua[1]=25459;if(115!==O[2]||99!==O[3])throw"Runtime error: expected the system to be little-endian!";a.HEAP=void 0;a.buffer=E;a.HEAP8=
+ba;a.HEAP16=ua;a.HEAP32=w;a.HEAPU8=O;a.HEAPU16=Ja;a.HEAPU32=Ka;a.HEAPF32=La;a.HEAPF64=Ma;var Va=[],Ra=[],Sa=[],Za=[],Ta=[],Qa=!1;f(Math.imul&&Math.fround&&Math.clz32&&Math.trunc,"this is a legacy browser, build with LEGACY_VM_SUPPORT");var ca=0,wa=null,oa=null;a.preloadedImages={};a.preloadedAudios={};var Q=null;(function(){function e(){try{if(a.wasmBinary)return new Uint8Array(a.wasmBinary);if(a.readBinary)return a.readBinary(c);throw"on the web, we need the wasm binary to be preloaded and set on Module['wasmBinary']. emcc.py will do that for you when generating HTML (but not JS)";
+}catch(eb){S(eb)}}function b(){return a.wasmBinary||!ka&&!fa||"function"!==typeof fetch?new Promise(function(a,b){a(e())}):fetch(c,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+c+"'";return a.arrayBuffer()}).catch(function(){return e()})}function d(d,e,l){function f(b,d){h=b.exports;if(h.memory){b=h.memory;d=a.buffer;b.byteLength<d.byteLength&&a.printErr("the new buffer in mergeMemory is smaller than the previous one. in native wasm, we should grow memory here");
+d=new Int8Array(d);var e=new Int8Array(b);Q||d.set(e.subarray(a.STATIC_BASE,a.STATIC_BASE+a.STATIC_BUMP),a.STATIC_BASE);e.set(d);a.buffer=E=b;R()}a.asm=h;a.usingWasm=!0;Ia("wasm-instantiate")}function k(a){f(a.instance,a.module)}function F(d){b().then(function(a){return WebAssembly.instantiate(a,g)}).then(d).catch(function(b){a.printErr("failed to asynchronously prepare wasm: "+b);S(b)})}if("object"!==typeof WebAssembly)return a.printErr("no native wasm support detected"),!1;if(!(a.wasmMemory instanceof
+WebAssembly.Memory))return a.printErr("no native wasm Memory in use"),!1;e.memory=a.wasmMemory;g.global={NaN:NaN,Infinity:Infinity};g["global.Math"]=d.Math;g.env=e;v("wasm-instantiate");if(a.instantiateWasm)try{return a.instantiateWasm(g,f)}catch(fb){return a.printErr("Module.instantiateWasm callback failed with error: "+fb),!1}a.wasmBinary||"function"!==typeof WebAssembly.instantiateStreaming||0===c.indexOf("data:")||"function"!==typeof fetch?F(k):WebAssembly.instantiateStreaming(fetch(c,{credentials:"same-origin"}),
+g).then(k).catch(function(b){a.printErr("wasm streaming compile failed: "+b);a.printErr("falling back to ArrayBuffer instantiation");F(k)});return{}}var c="draco_decoder.wasm",f="draco_decoder.temp.asm.js";"function"===typeof a.locateFile&&(a.locateFile("draco_decoder.wast"),c=a.locateFile(c),f=a.locateFile(f));var g={global:null,env:null,asm2wasm:{"f64-rem":function(a,b){return a%b},"debugger":function(){debugger}},parent:a},h=null;a.asmPreload=a.asm;var k=a.reallocBuffer;a.reallocBuffer=function(b){if("asmjs"===
+m)var d=k(b);else a:{b=ha(b,a.usingWasm?va:Na);var e=a.buffer.byteLength;if(a.usingWasm)try{d=-1!==a.wasmMemory.grow((b-e)/65536)?a.buffer=a.wasmMemory.buffer:null;break a}catch(fd){d=null;break a}d=void 0}return d};var m="";a.asm=function(b,e,c){if(!e.table){var l=a.wasmTableSize;void 0===l&&(l=1024);var f=a.wasmMaxTableSize;e.table="object"===typeof WebAssembly&&"function"===typeof WebAssembly.Table?void 0!==f?new WebAssembly.Table({initial:l,maximum:f,element:"anyfunc"}):new WebAssembly.Table({initial:l,
+element:"anyfunc"}):Array(l);a.wasmTable=e.table}e.memoryBase||(e.memoryBase=a.STATIC_BASE);e.tableBase||(e.tableBase=0);(b=d(b,e,c))||S("no binaryen method succeeded. consider enabling more options, like interpreting, if you want that: https://github.com/kripken/emscripten/wiki/WebAssembly#binaryen-methods");return b}})();Da=m.GLOBAL_BASE;W=Da+17952;Ra.push();Q=null;a.STATIC_BASE=Da;a.STATIC_BUMP=17952;var ub=W;W+=16;var z={last:0,caught:[],infos:{},deAdjust:function(a){if(!a||z.infos[a])return a;
+for(var b in z.infos)if(z.infos[b].adjusted===a)return b;return a},addRef:function(a){a&&z.infos[a].refcount++},decRef:function(e){if(e){var b=z.infos[e];f(0<b.refcount);b.refcount--;0!==b.refcount||b.rethrown||(b.destructor&&a.dynCall_vi(b.destructor,e),delete z.infos[e],___cxa_free_exception(e))}},clearRef:function(a){a&&(z.infos[a].refcount=0)}},t={varargs:0,get:function(a){t.varargs+=4;return w[t.varargs-4>>2]},getStr:function(){return n(t.get())},get64:function(){var a=t.get(),b=t.get();0<=a?
+f(0===b):f(-1===b);return a},getZero:function(){f(0===t.get())}},ta={},Ga=1;Za.push(function(){var e=a._fflush;e&&e(0);if(e=L.printChar){var b=L.buffers;b[1].length&&e(1,10);b[2].length&&e(2,10)}});X=m.staticAlloc(4);Ba=P=m.alignMemory(W);sa=Ba+Fa;Ca=m.alignMemory(sa);w[X>>2]=Ca;a.wasmTableSize=468;a.wasmMaxTableSize=468;a.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,
+Float64Array:Float64Array,NaN:NaN,Infinity:Infinity,byteLength:Ea};a.asmLibraryArg={abort:S,assert:f,enlargeMemory:Ha,getTotalMemory:function(){return x},abortOnCannotGrowMemory:function(){S("Cannot enlarge memory arrays. Either (1) compile with  -s TOTAL_MEMORY=X  with X higher than the current value "+x+", (2) compile with  -s ALLOW_MEMORY_GROWTH=1  which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with  -s ABORTING_MALLOC=0 ")},
+invoke_ii:function(e,b){try{return a.dynCall_ii(e,b)}catch(d){if("number"!==typeof d&&"longjmp"!==d)throw d;a.setThrew(1,0)}},invoke_iii:function(e,b,d){try{return a.dynCall_iii(e,b,d)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;a.setThrew(1,0)}},invoke_iiii:function(e,b,d,c){try{return a.dynCall_iiii(e,b,d,c)}catch(F){if("number"!==typeof F&&"longjmp"!==F)throw F;a.setThrew(1,0)}},invoke_iiiiiii:function(e,b,d,c,f,g,h){try{return a.dynCall_iiiiiii(e,b,d,c,f,g,h)}catch(ea){if("number"!==
+typeof ea&&"longjmp"!==ea)throw ea;a.setThrew(1,0)}},invoke_v:function(e){try{a.dynCall_v(e)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;a.setThrew(1,0)}},invoke_vi:function(e,b){try{a.dynCall_vi(e,b)}catch(d){if("number"!==typeof d&&"longjmp"!==d)throw d;a.setThrew(1,0)}},invoke_vii:function(e,b,d){try{a.dynCall_vii(e,b,d)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;a.setThrew(1,0)}},invoke_viii:function(e,b,d,c){try{a.dynCall_viii(e,b,d,c)}catch(F){if("number"!==typeof F&&
+"longjmp"!==F)throw F;a.setThrew(1,0)}},invoke_viiii:function(e,b,d,c,f){try{a.dynCall_viiii(e,b,d,c,f)}catch(pa){if("number"!==typeof pa&&"longjmp"!==pa)throw pa;a.setThrew(1,0)}},invoke_viiiii:function(e,b,d,c,f,g){try{a.dynCall_viiiii(e,b,d,c,f,g)}catch(da){if("number"!==typeof da&&"longjmp"!==da)throw da;a.setThrew(1,0)}},invoke_viiiiii:function(e,b,d,c,f,g,h){try{a.dynCall_viiiiii(e,b,d,c,f,g,h)}catch(ea){if("number"!==typeof ea&&"longjmp"!==ea)throw ea;a.setThrew(1,0)}},__ZSt18uncaught_exceptionv:ia,
+___assert_fail:function(a,b,d,c){ja=!0;throw"Assertion failed: "+n(a)+", at: "+[b?n(b):"unknown filename",d,c?n(c):"unknown function"]+" at "+g();},___cxa_allocate_exception:function(a){return Oa(a)},___cxa_begin_catch:function(a){var b=z.infos[a];b&&!b.caught&&(b.caught=!0,ia.uncaught_exception--);b&&(b.rethrown=!1);z.caught.push(a);z.addRef(z.deAdjust(a));return a},___cxa_find_matching_catch:ma,___cxa_pure_virtual:function(){ja=!0;throw"Pure virtual function called!";},___cxa_throw:function(a,b,
+d){z.infos[a]={ptr:a,adjusted:a,type:b,destructor:d,refcount:0,caught:!1,rethrown:!1};z.last=a;"uncaught_exception"in ia?ia.uncaught_exception++:ia.uncaught_exception=1;throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___gxx_personality_v0:function(){},___resumeException:function(a){z.last||(z.last=a);throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";
+},___setErrNo:function(c){a.___errno_location&&(w[a.___errno_location()>>2]=c);return c},___syscall140:function(a,b){t.varargs=b;try{var d=t.getStreamFromFD();t.get();var c=t.get(),e=t.get(),f=t.get();FS.llseek(d,c,f);w[e>>2]=d.position;d.getdents&&0===c&&0===f&&(d.getdents=null);return 0}catch(da){return"undefined"!==typeof FS&&da instanceof FS.ErrnoError||S(da),-da.errno}},___syscall146:L,___syscall6:function(a,b){t.varargs=b;try{var d=t.getStreamFromFD();FS.close(d);return 0}catch(l){return"undefined"!==
+typeof FS&&l instanceof FS.ErrnoError||S(l),-l.errno}},_abort:function(){a.abort()},_emscripten_memcpy_big:function(a,b,d){O.set(O.subarray(b,b+d),a);return a},_pthread_getspecific:function(a){return ta[a]||0},_pthread_key_create:function(a,b){if(0==a)return 22;w[a>>2]=Ga;ta[Ga]=0;Ga++;return 0},_pthread_once:na,_pthread_setspecific:function(a,b){if(!(a in ta))return 22;ta[a]=b;return 0},DYNAMICTOP_PTR:X,tempDoublePtr:ub,ABORT:ja,STACKTOP:P,STACK_MAX:sa};var $a=a.asm(a.asmGlobalArg,a.asmLibraryArg,
+E);a.asm=$a;a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null,arguments)};a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)};var hb=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null,arguments)},vb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null,
+arguments)},wb=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null,arguments)},xb=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null,arguments)},kb=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null,
+arguments)},yb=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null,arguments)},zb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null,arguments)},Ab=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null,
+arguments)},Bb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null,arguments)},Cb=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_range_0.apply(null,arguments)},jb=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return a.asm._emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null,
+arguments)},Db=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm._emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},Eb=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return a.asm._emscripten_bind_AttributeTransformData_transform_type_0.apply(null,arguments)},ob=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return a.asm._emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null,arguments)},Fb=a._emscripten_bind_DecoderBuffer_Init_2=
+function(){return a.asm._emscripten_bind_DecoderBuffer_Init_2.apply(null,arguments)},Gb=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return a.asm._emscripten_bind_DecoderBuffer___destroy___0.apply(null,arguments)},Hb=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null,arguments)},Ib=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null,
+arguments)},pb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm._emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},Jb=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null,arguments)},Kb=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Lb=a._emscripten_bind_Decoder_GetAttributeFloat_3=
+function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloat_3.apply(null,arguments)},Mb=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null,arguments)},Nb=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null,arguments)},Ob=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeId_2.apply(null,
+arguments)},Pb=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3.apply(null,arguments)},Qb=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null,arguments)},Rb=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null,arguments)},Sb=a._emscripten_bind_Decoder_GetAttribute_2=
+function(){return a.asm._emscripten_bind_Decoder_GetAttribute_2.apply(null,arguments)},Tb=a._emscripten_bind_Decoder_GetEncodedGeometryType_1=function(){return a.asm._emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null,arguments)},Ub=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return a.asm._emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null,arguments)},Vb=a._emscripten_bind_Decoder_GetMetadata_1=function(){return a.asm._emscripten_bind_Decoder_GetMetadata_1.apply(null,arguments)},
+Wb=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return a.asm._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null,arguments)},Xb=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return a.asm._emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null,arguments)},Yb=a._emscripten_bind_Decoder___destroy___0=function(){return a.asm._emscripten_bind_Decoder___destroy___0.apply(null,arguments)},mb=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null,
+arguments)},Zb=a._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoFloat32Array_GetValue_1.apply(null,arguments)},$b=a._emscripten_bind_DracoFloat32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoFloat32Array___destroy___0.apply(null,arguments)},ac=a._emscripten_bind_DracoFloat32Array_size_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_size_0.apply(null,arguments)},rb=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return a.asm._emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null,
+arguments)},bc=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt32Array_GetValue_1.apply(null,arguments)},cc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},dc=a._emscripten_bind_DracoInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoInt32Array_size_0.apply(null,arguments)},nb=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return a.asm._emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null,
+arguments)},ec=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm._emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},qb=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm._emscripten_bind_Mesh_Mesh_0.apply(null,arguments)},fc=a._emscripten_bind_Mesh___destroy___0=function(){return a.asm._emscripten_bind_Mesh___destroy___0.apply(null,arguments)},gc=a._emscripten_bind_Mesh_num_attributes_0=function(){return a.asm._emscripten_bind_Mesh_num_attributes_0.apply(null,
+arguments)},hc=a._emscripten_bind_Mesh_num_faces_0=function(){return a.asm._emscripten_bind_Mesh_num_faces_0.apply(null,arguments)},ic=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm._emscripten_bind_Mesh_num_points_0.apply(null,arguments)},jc=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null,arguments)},kc=a._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetEntryName_2.apply(null,
+arguments)},lc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null,arguments)},mc=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null,arguments)},nc=a._emscripten_bind_MetadataQuerier_HasDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasDoubleEntry_2.apply(null,arguments)},oc=a._emscripten_bind_MetadataQuerier_HasEntry_2=
+function(){return a.asm._emscripten_bind_MetadataQuerier_HasEntry_2.apply(null,arguments)},pc=a._emscripten_bind_MetadataQuerier_HasIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasIntEntry_2.apply(null,arguments)},qc=a._emscripten_bind_MetadataQuerier_HasStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasStringEntry_2.apply(null,arguments)},lb=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm._emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null,
+arguments)},rc=a._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return a.asm._emscripten_bind_MetadataQuerier_NumEntries_1.apply(null,arguments)},sc=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return a.asm._emscripten_bind_MetadataQuerier___destroy___0.apply(null,arguments)},sb=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm._emscripten_bind_Metadata_Metadata_0.apply(null,arguments)},tc=a._emscripten_bind_Metadata___destroy___0=function(){return a.asm._emscripten_bind_Metadata___destroy___0.apply(null,
+arguments)},uc=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return a.asm._emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null,arguments)},ib=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return a.asm._emscripten_bind_PointAttribute_PointAttribute_0.apply(null,arguments)},vc=a._emscripten_bind_PointAttribute___destroy___0=function(){return a.asm._emscripten_bind_PointAttribute___destroy___0.apply(null,arguments)},wc=a._emscripten_bind_PointAttribute_attribute_type_0=
+function(){return a.asm._emscripten_bind_PointAttribute_attribute_type_0.apply(null,arguments)},xc=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_offset_0.apply(null,arguments)},yc=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_stride_0.apply(null,arguments)},zc=a._emscripten_bind_PointAttribute_data_type_0=function(){return a.asm._emscripten_bind_PointAttribute_data_type_0.apply(null,
+arguments)},Ac=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm._emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},Bc=a._emscripten_bind_PointAttribute_num_components_0=function(){return a.asm._emscripten_bind_PointAttribute_num_components_0.apply(null,arguments)},Cc=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm._emscripten_bind_PointAttribute_size_0.apply(null,arguments)},Dc=a._emscripten_bind_PointAttribute_unique_id_0=function(){return a.asm._emscripten_bind_PointAttribute_unique_id_0.apply(null,
+arguments)},gb=a._emscripten_bind_PointCloud_PointCloud_0=function(){return a.asm._emscripten_bind_PointCloud_PointCloud_0.apply(null,arguments)},Ec=a._emscripten_bind_PointCloud___destroy___0=function(){return a.asm._emscripten_bind_PointCloud___destroy___0.apply(null,arguments)},Fc=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm._emscripten_bind_PointCloud_num_attributes_0.apply(null,arguments)},Gc=a._emscripten_bind_PointCloud_num_points_0=function(){return a.asm._emscripten_bind_PointCloud_num_points_0.apply(null,
+arguments)},Hc=a._emscripten_bind_Status___destroy___0=function(){return a.asm._emscripten_bind_Status___destroy___0.apply(null,arguments)},Ic=a._emscripten_bind_Status_code_0=function(){return a.asm._emscripten_bind_Status_code_0.apply(null,arguments)},Jc=a._emscripten_bind_Status_error_msg_0=function(){return a.asm._emscripten_bind_Status_error_msg_0.apply(null,arguments)},Kc=a._emscripten_bind_Status_ok_0=function(){return a.asm._emscripten_bind_Status_ok_0.apply(null,arguments)},Lc=a._emscripten_bind_VoidPtr___destroy___0=
+function(){return a.asm._emscripten_bind_VoidPtr___destroy___0.apply(null,arguments)},Mc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null,arguments)},Nc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null,arguments)},Oc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=
+function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null,arguments)},Pc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null,arguments)},Qc=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null,
+arguments)},Rc=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},Sc=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null,arguments)},Tc=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null,arguments)},Uc=
+a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null,arguments)},Vc=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null,arguments)},Wc=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null,arguments)},Xc=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=
+function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},Yc=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null,arguments)},Zc=a._emscripten_enum_draco_StatusCode_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_ERROR.apply(null,arguments)},$c=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return a.asm._emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null,
+arguments)},ad=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_IO_ERROR.apply(null,arguments)},bd=a._emscripten_enum_draco_StatusCode_OK=function(){return a.asm._emscripten_enum_draco_StatusCode_OK.apply(null,arguments)},cd=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null,arguments)},dd=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null,
+arguments)};a._emscripten_get_global_libc=function(){return a.asm._emscripten_get_global_libc.apply(null,arguments)};var tb=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)};a._free=function(){return a.asm._free.apply(null,arguments)};a._llvm_bswap_i32=function(){return a.asm._llvm_bswap_i32.apply(null,arguments)};var Oa=a._malloc=function(){return a.asm._malloc.apply(null,arguments)};a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)};
+a._memmove=function(){return a.asm._memmove.apply(null,arguments)};a._memset=function(){return a.asm._memset.apply(null,arguments)};a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)};a.establishStackSpace=function(){return a.asm.establishStackSpace.apply(null,arguments)};a.getTempRet0=function(){return a.asm.getTempRet0.apply(null,arguments)};a.runPostSets=function(){return a.asm.runPostSets.apply(null,arguments)};a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)};
+a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)};a.stackAlloc=function(){return a.asm.stackAlloc.apply(null,arguments)};a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)};a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)};a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)};
+a.dynCall_iiiiiii=function(){return a.asm.dynCall_iiiiiii.apply(null,arguments)};a.dynCall_v=function(){return a.asm.dynCall_v.apply(null,arguments)};a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)};a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)};a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)};a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)};a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null,
+arguments)};a.dynCall_viiiiii=function(){return a.asm.dynCall_viiiiii.apply(null,arguments)};m.stackAlloc=a.stackAlloc;m.stackSave=a.stackSave;m.stackRestore=a.stackRestore;m.establishStackSpace=a.establishStackSpace;m.setTempRet0=a.setTempRet0;m.getTempRet0=a.getTempRet0;a.asm=$a;if(Q)if("function"===typeof a.locateFile?Q=a.locateFile(Q):a.memoryInitializerPrefixURL&&(Q=a.memoryInitializerPrefixURL+Q),la||ra){var ed=a.readBinary(Q);O.set(ed,m.GLOBAL_BASE)}else{var bb=function(){a.readAsync(Q,ab,
+function(){throw"could not load memory initializer "+Q;})};v("memory initializer");var ab=function(c){c.byteLength&&(c=new Uint8Array(c));O.set(c,m.GLOBAL_BASE);a.memoryInitializerRequest&&delete a.memoryInitializerRequest.response;Ia("memory initializer")};if(a.memoryInitializerRequest){var cb=function(){var c=a.memoryInitializerRequest,b=c.response;200!==c.status&&0!==c.status?(console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+c.status+", retrying "+
+Q),bb()):ab(b)};a.memoryInitializerRequest.response?setTimeout(cb,0):a.memoryInitializerRequest.addEventListener("load",cb)}else bb()}a.then=function(c){if(a.calledRun)c(a);else{var b=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){b&&b();c(a)}}return a};aa.prototype=Error();aa.prototype.constructor=aa;var Ua=null;oa=function b(){a.calledRun||ya();a.calledRun||(oa=b)};a.run=ya;a.exit=function(b,d){if(!d||!a.noExitRuntime){if(!a.noExitRuntime&&(ja=!0,P=void 0,u(Za),a.onExit))a.onExit(b);la&&
+process.exit(b);a.quit(b,new aa(b))}};var Wa=[];a.abort=S;if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0<a.preInit.length;)a.preInit.pop()();ya();r.prototype=Object.create(r.prototype);r.prototype.constructor=r;r.prototype.__class__=r;r.__cache__={};a.WrapperObject=r;a.getCache=B;a.wrapPointer=T;a.castObject=function(a,d){return T(a.ptr,d)};a.NULL=T(0);a.destroy=function(a){if(!a.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";a.__destroy__();
+delete B(a.__class__)[a.ptr]};a.compare=function(a,d){return a.ptr===d.ptr};a.getPointer=function(a){return a.ptr};a.getClass=function(a){return a.__class__};var k={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(k.needed){for(var b=0;b<k.temps.length;b++)a._free(k.temps[b]);k.temps.length=0;a._free(k.buffer);k.buffer=0;k.size+=k.needed;k.needed=0}k.buffer||(k.size+=128,k.buffer=a._malloc(k.size),f(k.buffer));k.pos=0},alloc:function(b,d){f(k.buffer);b=b.length*d.BYTES_PER_ELEMENT;b=
+b+7&-8;k.pos+b>=k.size?(f(0<b),k.needed+=b,d=a._malloc(b),k.temps.push(d)):(d=k.buffer+k.pos,k.pos+=b);return d},copy:function(a,d,c){switch(d.BYTES_PER_ELEMENT){case 2:c>>=1;break;case 4:c>>=2;break;case 8:c>>=3}for(var b=0;b<a.length;b++)d[c+b]=a[b]}};A.prototype=Object.create(r.prototype);A.prototype.constructor=A;A.prototype.__class__=A;A.__cache__={};a.Status=A;A.prototype.code=A.prototype.code=function(){return Ic(this.ptr)};A.prototype.ok=A.prototype.ok=function(){return!!Kc(this.ptr)};A.prototype.error_msg=
+A.prototype.error_msg=function(){return n(Jc(this.ptr))};A.prototype.__destroy__=A.prototype.__destroy__=function(){Hc(this.ptr)};G.prototype=Object.create(r.prototype);G.prototype.constructor=G;G.prototype.__class__=G;G.__cache__={};a.PointCloud=G;G.prototype.num_attributes=G.prototype.num_attributes=function(){return Fc(this.ptr)};G.prototype.num_points=G.prototype.num_points=function(){return Gc(this.ptr)};G.prototype.__destroy__=G.prototype.__destroy__=function(){Ec(this.ptr)};H.prototype=Object.create(r.prototype);
+H.prototype.constructor=H;H.prototype.__class__=H;H.__cache__={};a.AttributeOctahedronTransform=H;H.prototype.InitFromAttribute=H.prototype.InitFromAttribute=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return!!vb(b,a)};H.prototype.quantization_bits=H.prototype.quantization_bits=function(){return xb(this.ptr)};H.prototype.__destroy__=H.prototype.__destroy__=function(){wb(this.ptr)};p.prototype=Object.create(r.prototype);p.prototype.constructor=p;p.prototype.__class__=p;p.__cache__=
+{};a.PointAttribute=p;p.prototype.size=p.prototype.size=function(){return Cc(this.ptr)};p.prototype.GetAttributeTransformData=p.prototype.GetAttributeTransformData=function(){return T(uc(this.ptr),K)};p.prototype.attribute_type=p.prototype.attribute_type=function(){return wc(this.ptr)};p.prototype.data_type=p.prototype.data_type=function(){return zc(this.ptr)};p.prototype.num_components=p.prototype.num_components=function(){return Bc(this.ptr)};p.prototype.normalized=p.prototype.normalized=function(){return!!Ac(this.ptr)};
+p.prototype.byte_stride=p.prototype.byte_stride=function(){return yc(this.ptr)};p.prototype.byte_offset=p.prototype.byte_offset=function(){return xc(this.ptr)};p.prototype.unique_id=p.prototype.unique_id=function(){return Dc(this.ptr)};p.prototype.__destroy__=p.prototype.__destroy__=function(){vc(this.ptr)};K.prototype=Object.create(r.prototype);K.prototype.constructor=K;K.prototype.__class__=K;K.__cache__={};a.AttributeTransformData=K;K.prototype.transform_type=K.prototype.transform_type=function(){return Eb(this.ptr)};
+K.prototype.__destroy__=K.prototype.__destroy__=function(){Db(this.ptr)};y.prototype=Object.create(r.prototype);y.prototype.constructor=y;y.prototype.__class__=y;y.__cache__={};a.AttributeQuantizationTransform=y;y.prototype.InitFromAttribute=y.prototype.InitFromAttribute=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return!!yb(b,a)};y.prototype.quantization_bits=y.prototype.quantization_bits=function(){return Bb(this.ptr)};y.prototype.min_value=y.prototype.min_value=function(a){var b=
+this.ptr;a&&"object"===typeof a&&(a=a.ptr);return Ab(b,a)};y.prototype.range=y.prototype.range=function(){return Cb(this.ptr)};y.prototype.__destroy__=y.prototype.__destroy__=function(){zb(this.ptr)};q.prototype=Object.create(r.prototype);q.prototype.constructor=q;q.prototype.__class__=q;q.__cache__={};a.MetadataQuerier=q;q.prototype.HasEntry=q.prototype.HasEntry=function(a,d){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);d=d&&"object"===typeof d?d.ptr:U(d);return!!oc(b,a,d)};q.prototype.HasIntEntry=
+q.prototype.HasIntEntry=function(a,d){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);d=d&&"object"===typeof d?d.ptr:U(d);return!!pc(b,a,d)};q.prototype.GetIntEntry=q.prototype.GetIntEntry=function(a,d){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);d=d&&"object"===typeof d?d.ptr:U(d);return lc(b,a,d)};q.prototype.HasDoubleEntry=q.prototype.HasDoubleEntry=function(a,d){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);d=d&&"object"===typeof d?d.ptr:U(d);return!!nc(b,
+a,d)};q.prototype.GetDoubleEntry=q.prototype.GetDoubleEntry=function(a,d){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);d=d&&"object"===typeof d?d.ptr:U(d);return jc(b,a,d)};q.prototype.HasStringEntry=q.prototype.HasStringEntry=function(a,d){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);d=d&&"object"===typeof d?d.ptr:U(d);return!!qc(b,a,d)};q.prototype.GetStringEntry=q.prototype.GetStringEntry=function(a,d){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);
+d=d&&"object"===typeof d?d.ptr:U(d);return n(mc(b,a,d))};q.prototype.NumEntries=q.prototype.NumEntries=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return rc(b,a)};q.prototype.GetEntryName=q.prototype.GetEntryName=function(a,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);d&&"object"===typeof d&&(d=d.ptr);return n(kc(b,a,d))};q.prototype.__destroy__=q.prototype.__destroy__=function(){sc(this.ptr)};I.prototype=Object.create(r.prototype);I.prototype.constructor=I;I.prototype.__class__=
+I;I.__cache__={};a.DracoFloat32Array=I;I.prototype.GetValue=I.prototype.GetValue=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return Zb(b,a)};I.prototype.size=I.prototype.size=function(){return ac(this.ptr)};I.prototype.__destroy__=I.prototype.__destroy__=function(){$b(this.ptr)};V.prototype=Object.create(r.prototype);V.prototype.constructor=V;V.prototype.__class__=V;V.__cache__={};a.GeometryAttribute=V;V.prototype.__destroy__=V.prototype.__destroy__=function(){ec(this.ptr)};M.prototype=
+Object.create(r.prototype);M.prototype.constructor=M;M.prototype.__class__=M;M.__cache__={};a.DecoderBuffer=M;M.prototype.Init=M.prototype.Init=function(a,d){var b=this.ptr;k.prepare();if("object"==typeof a&&"object"===typeof a){var c=k.alloc(a,ba);k.copy(a,ba,c);a=c}d&&"object"===typeof d&&(d=d.ptr);Fb(b,a,d)};M.prototype.__destroy__=M.prototype.__destroy__=function(){Gb(this.ptr)};h.prototype=Object.create(r.prototype);h.prototype.constructor=h;h.prototype.__class__=h;h.__cache__={};a.Decoder=h;
+h.prototype.GetEncodedGeometryType=h.prototype.GetEncodedGeometryType=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return Tb(b,a)};h.prototype.DecodeBufferToPointCloud=h.prototype.DecodeBufferToPointCloud=function(a,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);d&&"object"===typeof d&&(d=d.ptr);return T(Ib(b,a,d),A)};h.prototype.DecodeBufferToMesh=h.prototype.DecodeBufferToMesh=function(a,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);d&&"object"===typeof d&&(d=d.ptr);return T(Hb(b,
+a,d),A)};h.prototype.GetAttributeId=h.prototype.GetAttributeId=function(a,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);d&&"object"===typeof d&&(d=d.ptr);return Ob(b,a,d)};h.prototype.GetAttributeIdByName=h.prototype.GetAttributeIdByName=function(a,d){var b=this.ptr;k.prepare();a&&"object"===typeof a&&(a=a.ptr);d=d&&"object"===typeof d?d.ptr:U(d);return Nb(b,a,d)};h.prototype.GetAttributeIdByMetadataEntry=h.prototype.GetAttributeIdByMetadataEntry=function(a,d,c){var b=this.ptr;k.prepare();a&&
+"object"===typeof a&&(a=a.ptr);d=d&&"object"===typeof d?d.ptr:U(d);c=c&&"object"===typeof c?c.ptr:U(c);return Mb(b,a,d,c)};h.prototype.GetAttribute=h.prototype.GetAttribute=function(a,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);d&&"object"===typeof d&&(d=d.ptr);return T(Sb(b,a,d),p)};h.prototype.GetAttributeByUniqueId=h.prototype.GetAttributeByUniqueId=function(a,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);d&&"object"===typeof d&&(d=d.ptr);return T(Jb(b,a,d),p)};h.prototype.GetMetadata=
+h.prototype.GetMetadata=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return T(Vb(b,a),N)};h.prototype.GetAttributeMetadata=h.prototype.GetAttributeMetadata=function(a,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);d&&"object"===typeof d&&(d=d.ptr);return T(Rb(b,a,d),N)};h.prototype.GetFaceFromMesh=h.prototype.GetFaceFromMesh=function(a,d,c){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);d&&"object"===typeof d&&(d=d.ptr);c&&"object"===typeof c&&(c=c.ptr);return!!Ub(b,a,d,c)};
+h.prototype.GetTriangleStripsFromMesh=h.prototype.GetTriangleStripsFromMesh=function(a,d){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);d&&"object"===typeof d&&(d=d.ptr);return Wb(b,a,d)};h.prototype.GetAttributeFloat=h.prototype.GetAttributeFloat=function(a,d,c){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);d&&"object"===typeof d&&(d=d.ptr);c&&"object"===typeof c&&(c=c.ptr);return!!Lb(b,a,d,c)};h.prototype.GetAttributeFloatForAllPoints=h.prototype.GetAttributeFloatForAllPoints=function(a,c,
+f){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);f&&"object"===typeof f&&(f=f.ptr);return!!Kb(b,a,c,f)};h.prototype.GetAttributeIntForAllPoints=h.prototype.GetAttributeIntForAllPoints=function(a,c,f){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);f&&"object"===typeof f&&(f=f.ptr);return!!Qb(b,a,c,f)};h.prototype.GetAttributeInt32ForAllPoints=h.prototype.GetAttributeInt32ForAllPoints=function(a,c,f){var b=this.ptr;a&&"object"===
+typeof a&&(a=a.ptr);c&&"object"===typeof c&&(c=c.ptr);f&&"object"===typeof f&&(f=f.ptr);return!!Pb(b,a,c,f)};h.prototype.SkipAttributeTransform=h.prototype.SkipAttributeTransform=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);Xb(b,a)};h.prototype.__destroy__=h.prototype.__destroy__=function(){Yb(this.ptr)};C.prototype=Object.create(r.prototype);C.prototype.constructor=C;C.prototype.__class__=C;C.__cache__={};a.Mesh=C;C.prototype.num_faces=C.prototype.num_faces=function(){return hc(this.ptr)};
+C.prototype.num_attributes=C.prototype.num_attributes=function(){return gc(this.ptr)};C.prototype.num_points=C.prototype.num_points=function(){return ic(this.ptr)};C.prototype.__destroy__=C.prototype.__destroy__=function(){fc(this.ptr)};Y.prototype=Object.create(r.prototype);Y.prototype.constructor=Y;Y.prototype.__class__=Y;Y.__cache__={};a.VoidPtr=Y;Y.prototype.__destroy__=Y.prototype.__destroy__=function(){Lc(this.ptr)};J.prototype=Object.create(r.prototype);J.prototype.constructor=J;J.prototype.__class__=
+J;J.__cache__={};a.DracoInt32Array=J;J.prototype.GetValue=J.prototype.GetValue=function(a){var b=this.ptr;a&&"object"===typeof a&&(a=a.ptr);return bc(b,a)};J.prototype.size=J.prototype.size=function(){return dc(this.ptr)};J.prototype.__destroy__=J.prototype.__destroy__=function(){cc(this.ptr)};N.prototype=Object.create(r.prototype);N.prototype.constructor=N;N.prototype.__class__=N;N.__cache__={};a.Metadata=N;N.prototype.__destroy__=N.prototype.__destroy__=function(){tc(this.ptr)};(function(){function b(){a.OK=
+bd();a.ERROR=Zc();a.IO_ERROR=ad();a.INVALID_PARAMETER=$c();a.UNSUPPORTED_VERSION=dd();a.UNKNOWN_VERSION=cd();a.INVALID_GEOMETRY_TYPE=Qc();a.POINT_CLOUD=Rc();a.TRIANGULAR_MESH=Sc();a.ATTRIBUTE_INVALID_TRANSFORM=Mc();a.ATTRIBUTE_NO_TRANSFORM=Nc();a.ATTRIBUTE_QUANTIZATION_TRANSFORM=Pc();a.ATTRIBUTE_OCTAHEDRON_TRANSFORM=Oc();a.INVALID=Vc();a.POSITION=Xc();a.NORMAL=Wc();a.COLOR=Tc();a.TEX_COORD=Yc();a.GENERIC=Uc()}a.calledRun?b():Sa.unshift(b)})();if("function"===typeof a.onModuleParsed)a.onModuleParsed();
+return c};"object"===typeof module&&module.exports&&(module.exports=DracoDecoderModule);

BIN
examples/models/gltf/CesiumMan/glTF-Draco/0.bin


+ 2634 - 0
examples/models/gltf/CesiumMan/glTF-Draco/CesiumMan.gltf

@@ -0,0 +1,2634 @@
+{
+  "asset": {
+    "generator": "COLLADA2GLTF",
+    "version": "2.0"
+  },
+  "scene": 0,
+  "scenes": [
+    {
+      "nodes": [
+        0
+      ]
+    }
+  ],
+  "nodes": [
+    {
+      "children": [
+        21,
+        1
+      ],
+      "matrix": [
+        1,
+        0,
+        0,
+        0,
+        0,
+        0,
+        -1,
+        0,
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1
+      ]
+    },
+    {
+      "mesh": 0,
+      "skin": 0
+    },
+    {
+      "children": [
+        11,
+        7,
+        3
+      ],
+      "translation": [
+        -3.352759847530251e-8,
+        0.00499989278614521,
+        0.6789997816085815
+      ],
+      "rotation": [
+        -0.026794714853167537,
+        -0.026732556521892548,
+        -0.7065613865852356,
+        -0.706638753414154
+      ],
+      "scale": [
+        0.9999998807907104,
+        0.9999998211860656,
+        0.9999999403953552
+      ]
+    },
+    {
+      "children": [
+        4
+      ],
+      "translation": [
+        -0.06804201006889343,
+        -0.02857022918760777,
+        -0.06294959783554077
+      ],
+      "rotation": [
+        -0.06642699241638184,
+        -0.6115013957023621,
+        0.7850273251533508,
+        0.073387511074543
+      ],
+      "scale": [
+        0.9999999403953552,
+        1.000000238418579,
+        1
+      ]
+    },
+    {
+      "children": [
+        5
+      ],
+      "translation": [
+        0,
+        0.26611149311065674,
+        0
+      ],
+      "rotation": [
+        0.216291218996048,
+        0.12430648505687714,
+        0.0015752052422612906,
+        -0.9683818817138672
+      ],
+      "scale": [
+        1,
+        0.9999998211860656,
+        1
+      ]
+    },
+    {
+      "children": [
+        6
+      ],
+      "translation": [
+        0,
+        0.2758249044418335,
+        -1.1175900205273592e-8
+      ],
+      "rotation": [
+        0.8472740650177002,
+        -0.029564039781689644,
+        -0.020868001505732536,
+        -0.5299217700958252
+      ],
+      "scale": [
+        0.9999999403953552,
+        0.9999998807907104,
+        1
+      ]
+    },
+    {
+      "translation": [
+        -0.001458480954170227,
+        -0.06619883328676224,
+        0.027856720611453056
+      ],
+      "rotation": [
+        -0.03726436197757721,
+        -0.319313257932663,
+        0.9460535645484924,
+        -0.040414959192276
+      ],
+      "scale": [
+        1,
+        1.0000003576278689,
+        1.0000005960464478
+      ]
+    },
+    {
+      "children": [
+        8
+      ],
+      "translation": [
+        0.06803668290376663,
+        -0.028518669307231903,
+        -0.06296277046203613
+      ],
+      "rotation": [
+        0.2475697100162506,
+        -0.5775680541992188,
+        0.7479144334793091,
+        -0.2138892114162445
+      ],
+      "scale": [
+        1,
+        1.000000238418579,
+        1.0000001192092896
+      ]
+    },
+    {
+      "children": [
+        9
+      ],
+      "translation": [
+        3.725290076417309e-9,
+        0.2661128044128418,
+        1.4901200273698123e-8
+      ],
+      "rotation": [
+        0.2090278267860413,
+        -0.32988959550857544,
+        -0.05559924989938736,
+        -0.9189063906669616
+      ]
+    },
+    {
+      "children": [
+        10
+      ],
+      "translation": [
+        -7.450580152834618e-9,
+        0.2758241891860962,
+        5.5879398885849704e-9
+      ],
+      "rotation": [
+        0.8477396965026855,
+        -0.004254077095538378,
+        -0.009491981938481333,
+        -0.5303107500076294
+      ],
+      "scale": [
+        0.9999998807907104,
+        1.0000001192092896,
+        1.0000001192092896
+      ]
+    },
+    {
+      "translation": [
+        -0.002346523106098175,
+        -0.06617332994937897,
+        0.02785678952932358
+      ],
+      "rotation": [
+        0.026573536917567257,
+        -0.3201442956924439,
+        0.9445450901985168,
+        0.06808964908123016
+      ],
+      "scale": [
+        1,
+        1.000000238418579,
+        1.000000238418579
+      ]
+    },
+    {
+      "children": [
+        12
+      ],
+      "translation": [
+        -1.02445003591356e-8,
+        1.4901200273698123e-8,
+        0.14541690051555634
+      ],
+      "rotation": [
+        -0.6572523713111877,
+        -0.00017969288455788046,
+        -0.00010428010864416136,
+        -0.7536706328392029
+      ],
+      "scale": [
+        0.9999999403953552,
+        1,
+        1.0000001192092896
+      ]
+    },
+    {
+      "children": [
+        19,
+        16,
+        13
+      ],
+      "translation": [
+        4.6566100975198305e-10,
+        0.250516802072525,
+        3.725290076417309e-9
+      ],
+      "rotation": [
+        0.6226037740707397,
+        0.00001678345142863691,
+        -0.0000031824047255213377,
+        -0.7825372219085693
+      ],
+      "scale": [
+        1,
+        1,
+        0.9999999403953552
+      ]
+    },
+    {
+      "children": [
+        14
+      ],
+      "translation": [
+        -0.09098775684833528,
+        0.00006259980000322685,
+        -0.00006532669794978574
+      ],
+      "rotation": [
+        0.2964428961277008,
+        0.03151032328605652,
+        -0.652255117893219,
+        -0.6969160437583923
+      ],
+      "scale": [
+        1.0000001192092896,
+        0.9999999403953552,
+        1.0000001192092896
+      ]
+    },
+    {
+      "children": [
+        15
+      ],
+      "translation": [
+        0,
+        0.24200819432735443,
+        -5.96045985901128e-8
+      ],
+      "rotation": [
+        -0.1887933611869812,
+        0.9157071709632874,
+        -0.16780903935432437,
+        -0.3125341236591339
+      ],
+      "scale": [
+        0.9999999403953552,
+        0.9999999403953552,
+        0.9999998807907104
+      ]
+    },
+    {
+      "translation": [
+        0,
+        0.18779200315475464,
+        0
+      ],
+      "rotation": [
+        -0.058613914996385574,
+        0.2637767195701599,
+        0.05226854607462883,
+        -0.9613814353942872
+      ],
+      "scale": [
+        1,
+        1,
+        0.9999999403953552
+      ]
+    },
+    {
+      "children": [
+        17
+      ],
+      "translation": [
+        0.0910135880112648,
+        0.000014185899999574758,
+        -0.00005805489854537882
+      ],
+      "rotation": [
+        0.6797328591346741,
+        0.689685583114624,
+        -0.2269716113805771,
+        -0.10383165627717972
+      ],
+      "scale": [
+        1,
+        1.0000001192092896,
+        1
+      ]
+    },
+    {
+      "children": [
+        18
+      ],
+      "translation": [
+        1.1641500263781523e-10,
+        0.2420089989900589,
+        0
+      ],
+      "rotation": [
+        -0.013960935175418854,
+        -0.12937255203723907,
+        -0.2522056698799134,
+        -0.9588848352432252
+      ],
+      "scale": [
+        1,
+        0.9999999403953552,
+        1
+      ]
+    },
+    {
+      "translation": [
+        1.4901200273698123e-8,
+        0.18779149651527408,
+        5.96045985901128e-8
+      ],
+      "rotation": [
+        0.006119169760495424,
+        -0.042325541377067566,
+        -0.07877591997385025,
+        -0.9959746599197388
+      ],
+      "scale": [
+        0.9999998807907104,
+        1.000000238418579,
+        0.9999999403953552
+      ]
+    },
+    {
+      "children": [
+        20
+      ],
+      "translation": [
+        -8.847560017954947e-9,
+        5.96045985901128e-8,
+        0.06483662128448486
+      ],
+      "rotation": [
+        -0.6606296300888062,
+        0.00008344435627805069,
+        0.00007109258876880631,
+        -0.750711977481842
+      ]
+    },
+    {
+      "translation": [
+        0,
+        0.0520397387444973,
+        0
+      ],
+      "rotation": [
+        0.000002552607384131989,
+        0.9996904730796814,
+        -0.02487966977059841,
+        -4.329927776325349e-7
+      ]
+    },
+    {
+      "children": [
+        2
+      ]
+    }
+  ],
+  "meshes": [
+    {
+      "primitives": [
+        {
+          "attributes": {
+            "JOINTS_0": 78,
+            "NORMAL": 79,
+            "POSITION": 80,
+            "TEXCOORD_0": 81,
+            "WEIGHTS_0": 82
+          },
+          "indices": 77,
+          "mode": 4,
+          "material": 0,
+          "extensions": {
+            "KHR_draco_mesh_compression": {
+              "bufferView": 4,
+              "attributes": {
+                "JOINTS_0": 0,
+                "NORMAL": 1,
+                "POSITION": 2,
+                "TEXCOORD_0": 3,
+                "WEIGHTS_0": 4
+              }
+            }
+          }
+        }
+      ],
+      "name": "Cesium_Man"
+    }
+  ],
+  "animations": [
+    {
+      "channels": [
+        {
+          "sampler": 0,
+          "target": {
+            "node": 2,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 1,
+          "target": {
+            "node": 2,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 2,
+          "target": {
+            "node": 2,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 3,
+          "target": {
+            "node": 11,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 4,
+          "target": {
+            "node": 11,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 5,
+          "target": {
+            "node": 11,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 6,
+          "target": {
+            "node": 12,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 7,
+          "target": {
+            "node": 12,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 8,
+          "target": {
+            "node": 12,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 9,
+          "target": {
+            "node": 19,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 10,
+          "target": {
+            "node": 19,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 11,
+          "target": {
+            "node": 19,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 12,
+          "target": {
+            "node": 20,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 13,
+          "target": {
+            "node": 20,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 14,
+          "target": {
+            "node": 20,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 15,
+          "target": {
+            "node": 16,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 16,
+          "target": {
+            "node": 16,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 17,
+          "target": {
+            "node": 16,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 18,
+          "target": {
+            "node": 17,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 19,
+          "target": {
+            "node": 17,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 20,
+          "target": {
+            "node": 17,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 21,
+          "target": {
+            "node": 18,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 22,
+          "target": {
+            "node": 18,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 23,
+          "target": {
+            "node": 18,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 24,
+          "target": {
+            "node": 13,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 25,
+          "target": {
+            "node": 13,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 26,
+          "target": {
+            "node": 13,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 27,
+          "target": {
+            "node": 14,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 28,
+          "target": {
+            "node": 14,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 29,
+          "target": {
+            "node": 14,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 30,
+          "target": {
+            "node": 15,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 31,
+          "target": {
+            "node": 15,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 32,
+          "target": {
+            "node": 15,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 33,
+          "target": {
+            "node": 7,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 34,
+          "target": {
+            "node": 7,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 35,
+          "target": {
+            "node": 7,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 36,
+          "target": {
+            "node": 8,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 37,
+          "target": {
+            "node": 8,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 38,
+          "target": {
+            "node": 8,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 39,
+          "target": {
+            "node": 9,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 40,
+          "target": {
+            "node": 9,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 41,
+          "target": {
+            "node": 9,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 42,
+          "target": {
+            "node": 10,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 43,
+          "target": {
+            "node": 10,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 44,
+          "target": {
+            "node": 10,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 45,
+          "target": {
+            "node": 3,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 46,
+          "target": {
+            "node": 3,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 47,
+          "target": {
+            "node": 3,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 48,
+          "target": {
+            "node": 4,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 49,
+          "target": {
+            "node": 4,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 50,
+          "target": {
+            "node": 4,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 51,
+          "target": {
+            "node": 5,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 52,
+          "target": {
+            "node": 5,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 53,
+          "target": {
+            "node": 5,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 54,
+          "target": {
+            "node": 6,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 55,
+          "target": {
+            "node": 6,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 56,
+          "target": {
+            "node": 6,
+            "path": "scale"
+          }
+        }
+      ],
+      "samplers": [
+        {
+          "input": 0,
+          "interpolation": "LINEAR",
+          "output": 1
+        },
+        {
+          "input": 0,
+          "interpolation": "LINEAR",
+          "output": 2
+        },
+        {
+          "input": 0,
+          "interpolation": "LINEAR",
+          "output": 3
+        },
+        {
+          "input": 4,
+          "interpolation": "LINEAR",
+          "output": 5
+        },
+        {
+          "input": 4,
+          "interpolation": "LINEAR",
+          "output": 6
+        },
+        {
+          "input": 4,
+          "interpolation": "LINEAR",
+          "output": 7
+        },
+        {
+          "input": 8,
+          "interpolation": "LINEAR",
+          "output": 9
+        },
+        {
+          "input": 8,
+          "interpolation": "LINEAR",
+          "output": 10
+        },
+        {
+          "input": 8,
+          "interpolation": "LINEAR",
+          "output": 11
+        },
+        {
+          "input": 12,
+          "interpolation": "LINEAR",
+          "output": 13
+        },
+        {
+          "input": 12,
+          "interpolation": "LINEAR",
+          "output": 14
+        },
+        {
+          "input": 12,
+          "interpolation": "LINEAR",
+          "output": 15
+        },
+        {
+          "input": 16,
+          "interpolation": "LINEAR",
+          "output": 17
+        },
+        {
+          "input": 16,
+          "interpolation": "LINEAR",
+          "output": 18
+        },
+        {
+          "input": 16,
+          "interpolation": "LINEAR",
+          "output": 19
+        },
+        {
+          "input": 20,
+          "interpolation": "LINEAR",
+          "output": 21
+        },
+        {
+          "input": 20,
+          "interpolation": "LINEAR",
+          "output": 22
+        },
+        {
+          "input": 20,
+          "interpolation": "LINEAR",
+          "output": 23
+        },
+        {
+          "input": 24,
+          "interpolation": "LINEAR",
+          "output": 25
+        },
+        {
+          "input": 24,
+          "interpolation": "LINEAR",
+          "output": 26
+        },
+        {
+          "input": 24,
+          "interpolation": "LINEAR",
+          "output": 27
+        },
+        {
+          "input": 28,
+          "interpolation": "LINEAR",
+          "output": 29
+        },
+        {
+          "input": 28,
+          "interpolation": "LINEAR",
+          "output": 30
+        },
+        {
+          "input": 28,
+          "interpolation": "LINEAR",
+          "output": 31
+        },
+        {
+          "input": 32,
+          "interpolation": "LINEAR",
+          "output": 33
+        },
+        {
+          "input": 32,
+          "interpolation": "LINEAR",
+          "output": 34
+        },
+        {
+          "input": 32,
+          "interpolation": "LINEAR",
+          "output": 35
+        },
+        {
+          "input": 36,
+          "interpolation": "LINEAR",
+          "output": 37
+        },
+        {
+          "input": 36,
+          "interpolation": "LINEAR",
+          "output": 38
+        },
+        {
+          "input": 36,
+          "interpolation": "LINEAR",
+          "output": 39
+        },
+        {
+          "input": 40,
+          "interpolation": "LINEAR",
+          "output": 41
+        },
+        {
+          "input": 40,
+          "interpolation": "LINEAR",
+          "output": 42
+        },
+        {
+          "input": 40,
+          "interpolation": "LINEAR",
+          "output": 43
+        },
+        {
+          "input": 44,
+          "interpolation": "LINEAR",
+          "output": 45
+        },
+        {
+          "input": 44,
+          "interpolation": "LINEAR",
+          "output": 46
+        },
+        {
+          "input": 44,
+          "interpolation": "LINEAR",
+          "output": 47
+        },
+        {
+          "input": 48,
+          "interpolation": "LINEAR",
+          "output": 49
+        },
+        {
+          "input": 48,
+          "interpolation": "LINEAR",
+          "output": 50
+        },
+        {
+          "input": 48,
+          "interpolation": "LINEAR",
+          "output": 51
+        },
+        {
+          "input": 52,
+          "interpolation": "LINEAR",
+          "output": 53
+        },
+        {
+          "input": 52,
+          "interpolation": "LINEAR",
+          "output": 54
+        },
+        {
+          "input": 52,
+          "interpolation": "LINEAR",
+          "output": 55
+        },
+        {
+          "input": 56,
+          "interpolation": "LINEAR",
+          "output": 57
+        },
+        {
+          "input": 56,
+          "interpolation": "LINEAR",
+          "output": 58
+        },
+        {
+          "input": 56,
+          "interpolation": "LINEAR",
+          "output": 59
+        },
+        {
+          "input": 60,
+          "interpolation": "LINEAR",
+          "output": 61
+        },
+        {
+          "input": 60,
+          "interpolation": "LINEAR",
+          "output": 62
+        },
+        {
+          "input": 60,
+          "interpolation": "LINEAR",
+          "output": 63
+        },
+        {
+          "input": 64,
+          "interpolation": "LINEAR",
+          "output": 65
+        },
+        {
+          "input": 64,
+          "interpolation": "LINEAR",
+          "output": 66
+        },
+        {
+          "input": 64,
+          "interpolation": "LINEAR",
+          "output": 67
+        },
+        {
+          "input": 68,
+          "interpolation": "LINEAR",
+          "output": 69
+        },
+        {
+          "input": 68,
+          "interpolation": "LINEAR",
+          "output": 70
+        },
+        {
+          "input": 68,
+          "interpolation": "LINEAR",
+          "output": 71
+        },
+        {
+          "input": 72,
+          "interpolation": "LINEAR",
+          "output": 73
+        },
+        {
+          "input": 72,
+          "interpolation": "LINEAR",
+          "output": 74
+        },
+        {
+          "input": 72,
+          "interpolation": "LINEAR",
+          "output": 75
+        }
+      ]
+    }
+  ],
+  "skins": [
+    {
+      "inverseBindMatrices": 76,
+      "skeleton": 2,
+      "joints": [
+        2,
+        11,
+        12,
+        19,
+        20,
+        16,
+        13,
+        17,
+        14,
+        18,
+        15,
+        7,
+        3,
+        8,
+        4,
+        9,
+        5,
+        10,
+        6
+      ],
+      "name": "Armature"
+    }
+  ],
+  "accessors": [
+    {
+      "bufferView": 0,
+      "byteOffset": 0,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 0,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2.386510011831433e-8,
+        -0.02000010944902897,
+        0.7110069990158081
+      ],
+      "min": [
+        -7.101330190550925e-9,
+        -0.030000120401382446,
+        0.6399999856948853
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 0,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        -0.02314124070107937,
+        -0.006974140647798777,
+        -0.7065909504890442,
+        -0.7031946778297424
+      ],
+      "min": [
+        -0.05146743357181549,
+        -0.03440024703741074,
+        -0.7094300389289856,
+        -0.7066542506217957
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 588,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        1.0000001192092896,
+        1.0000003576278689,
+        1.0000001192092896
+      ],
+      "min": [
+        0.9999998211860656,
+        0.9999998211860656,
+        0.9999997615814208
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 196,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 1176,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.0009999830508604646,
+        3.725289943190546e-8,
+        0.1454170048236847
+      ],
+      "min": [
+        0.0009999759495258331,
+        -4.470350134511136e-8,
+        0.14541690051555634
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 784,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        -0.7105135917663574,
+        0.008397356607019901,
+        0.000531485362444073,
+        -0.6789330840110779
+      ],
+      "min": [
+        -0.733797013759613,
+        -0.0113212987780571,
+        -0.02596380189061165,
+        -0.703567624092102
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 1764,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        1.0000003576278689,
+        1.0000004768371584,
+        0.999999701976776
+      ],
+      "min": [
+        0.9999999403953552,
+        1.0000001192092896,
+        0.9999992847442628
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 392,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 2352,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0,
+        0.25051671266555786,
+        0
+      ],
+      "min": [
+        0,
+        0.25051671266555786,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 1568,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.6358352899551392,
+        0.06165437772870064,
+        -0.00338419945910573,
+        -0.7642753720283508
+      ],
+      "min": [
+        0.6224426627159119,
+        -0.1380288153886795,
+        -0.06534027308225632,
+        -0.782635509967804
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 2940,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        1.0000001192092896,
+        1.0000007152557373,
+        0.9999996423721313
+      ],
+      "min": [
+        0.9999998211860656,
+        1.000000238418579,
+        0.999999225139618
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 588,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 3528,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2.1420399676230776e-8,
+        8.940700269022274e-8,
+        0.064838707447052
+      ],
+      "min": [
+        -1.5832499755674693e-8,
+        2.98022992950564e-8,
+        0.06483834981918335
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 2352,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        -0.632530927658081,
+        0.02482949569821358,
+        0.04200226813554764,
+        -0.749857485294342
+      ],
+      "min": [
+        -0.6592774987220764,
+        -0.03641732409596443,
+        -0.03000718355178833,
+        -0.7735550403594971
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 4116,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        1.000000238418579,
+        0.9999998807907104,
+        1
+      ],
+      "min": [
+        0.9999998211860656,
+        0.9999995231628418,
+        0.9999996423721313
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 784,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 4704,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        7.450580152834618e-9,
+        0.0520397387444973,
+        0
+      ],
+      "min": [
+        7.450580152834618e-9,
+        0.0520397387444973,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 3136,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.04680429771542549,
+        0.9995073676109314,
+        -0.018450811505317688,
+        0.002033286727964878
+      ],
+      "min": [
+        -0.09362706542015076,
+        0.995067298412323,
+        -0.09058911353349686,
+        -0.002585495822131634
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 5292,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        1.000000238418579,
+        1.0000001192092896,
+        1.0000004768371584
+      ],
+      "min": [
+        0.999999701976776,
+        0.9999998211860656,
+        1.0000001192092896
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 980,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 5880,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.08800014853477478,
+        0.000014096500308369288,
+        -0.00005573029920924455
+      ],
+      "min": [
+        0.08799994736909866,
+        0.000013977300113765525,
+        -0.00005596880146185868
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 3920,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.7787204384803772,
+        0.6963526606559753,
+        -0.2913321256637573,
+        -0.12775331735610965
+      ],
+      "min": [
+        0.41440603137016296,
+        0.2682091891765595,
+        -0.6041955351829529,
+        -0.508333683013916
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 6468,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        1.0000005960464478,
+        1,
+        1.0000004768371584
+      ],
+      "min": [
+        1,
+        0.9999995827674866,
+        1.0000001192092896
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 1176,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 7056,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0,
+        0.24200910329818728,
+        0
+      ],
+      "min": [
+        0,
+        0.24200910329818728,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 4704,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.005276965908706188,
+        -0.10532382130622864,
+        -0.0563904233276844,
+        -0.9007523059844972
+      ],
+      "min": [
+        -0.08755125850439072,
+        -0.15304648876190186,
+        -0.4198120832443238,
+        -0.989989936351776
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 7644,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.9999999403953552,
+        0.9999998807907104,
+        0.9999998807907104
+      ],
+      "min": [
+        0.9999994039535524,
+        0.9999992847442628,
+        0.9999995231628418
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 1372,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 8232,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        -2.98022992950564e-8,
+        0.18779130280017856,
+        0
+      ],
+      "min": [
+        -2.98022992950564e-8,
+        0.18779130280017856,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 5488,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.04831664264202118,
+        -0.03682959079742432,
+        0.1515040546655655,
+        -0.9875762462615968
+      ],
+      "min": [
+        -0.01958325318992138,
+        -0.043389420956373215,
+        -0.0806758776307106,
+        -0.9989553689956664
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 8820,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        1.000000238418579,
+        1.0000009536743164,
+        1.0000005960464478
+      ],
+      "min": [
+        0.9999997615814208,
+        1.0000005960464478,
+        1.000000238418579
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 1568,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 9408,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        -0.0879998505115509,
+        0.00006264450348680839,
+        -0.00006240609945962206
+      ],
+      "min": [
+        -0.0880000963807106,
+        0.00006249549915082753,
+        -0.00006282330286921933
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 6272,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.6748494505882263,
+        0.31521570682525635,
+        -0.300369679927826,
+        -0.3483264744281769
+      ],
+      "min": [
+        0.3661315143108368,
+        0.09874838590621948,
+        -0.6449660062789917,
+        -0.8451733589172363
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 9996,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        1.0000001192092896,
+        1.0000001192092896,
+        1
+      ],
+      "min": [
+        0.9999997615814208,
+        0.9999996423721313,
+        0.9999996423721313
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 1764,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 10584,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0,
+        0.24200810492038727,
+        0
+      ],
+      "min": [
+        0,
+        0.24200810492038727,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 7056,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        -0.003387797623872757,
+        0.9475951790809632,
+        -0.0798693522810936,
+        -0.3012830018997193
+      ],
+      "min": [
+        -0.12710869312286377,
+        0.916045308113098,
+        -0.2270231395959854,
+        -0.3146948218345642
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 11172,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        1.0000003576278689,
+        0.9999998807907104,
+        1.0000001192092896
+      ],
+      "min": [
+        0.9999999403953552,
+        0.9999995231628418,
+        0.999999701976776
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 1960,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 11760,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0,
+        0.1877920925617218,
+        0
+      ],
+      "min": [
+        0,
+        0.1877920925617218,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 7840,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.15000686049461365,
+        0.2620651721954346,
+        0.06808223575353622,
+        -0.9487173557281494
+      ],
+      "min": [
+        -0.0010455237934365869,
+        0.2568579018115998,
+        -0.10152826458215714,
+        -0.9656248688697816
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 12348,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        1.0000001192092896,
+        1.0000009536743164,
+        1
+      ],
+      "min": [
+        0.9999996423721313,
+        1.0000003576278689,
+        0.999999463558197
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 2156,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 12936,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.06761906296014786,
+        -0.02851865068078041,
+        -0.06296355277299881
+      ],
+      "min": [
+        0.0676189586520195,
+        -0.028518760576844215,
+        -0.06296365708112717
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 8624,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.301033079624176,
+        -0.20796972513198853,
+        0.92630273103714,
+        -0.08994945138692856
+      ],
+      "min": [
+        0.1658332496881485,
+        -0.7997090816497803,
+        0.4959096908569336,
+        -0.3118112683296204
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 13524,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        1.0000008344650269,
+        1,
+        0.9999999403953552
+      ],
+      "min": [
+        1.0000003576278689,
+        0.9999995231628418,
+        0.9999996423721313
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 2352,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 14112,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        -1.4901200273698123e-8,
+        0.26611289381980896,
+        0
+      ],
+      "min": [
+        -1.4901200273698123e-8,
+        0.26611289381980896,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 9408,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.8112500905990601,
+        -0.1822210103273392,
+        0.032220568507909775,
+        -0.4743982553482056
+      ],
+      "min": [
+        -0.03036016784608364,
+        -0.3419179916381836,
+        -0.28916242718696594,
+        -0.9452491998672484
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 14700,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.9999994039535524,
+        1.000000238418579,
+        1.000000238418579
+      ],
+      "min": [
+        0.9999989867210388,
+        0.9999996423721313,
+        0.9999994039535524
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 2548,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 15288,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0,
+        0.2758241891860962,
+        0
+      ],
+      "min": [
+        0,
+        0.2758241891860962,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 10192,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.9907974004745485,
+        -0.0014961245469748974,
+        0.02489613927900791,
+        -0.13506969809532166
+      ],
+      "min": [
+        0.8542653322219849,
+        -0.05430477112531662,
+        -0.00011262076441198587,
+        -0.5192484259605408
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 15876,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        1.0000005960464478,
+        1.0000003576278689,
+        1.0000004768371584
+      ],
+      "min": [
+        1.0000001192092896,
+        0.9999999403953552,
+        1
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 2744,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 16464,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        -0.002346449065953493,
+        -0.06617332249879837,
+        0.02785664983093739
+      ],
+      "min": [
+        -0.002346470952033997,
+        -0.06617333739995956,
+        0.02785659022629261
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 10976,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.020624300464987755,
+        -0.23465925455093384,
+        0.9716955423355104,
+        0.0638260766863823
+      ],
+      "min": [
+        0.003326366888359189,
+        -0.5406339168548584,
+        0.8410344123840332,
+        0.016216862946748737
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 17052,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        1.0000001192092896,
+        1.0000009536743164,
+        1.0000005960464478
+      ],
+      "min": [
+        0.9999997615814208,
+        1.000000238418579,
+        0.9999998211860656
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 2940,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 17640,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        -0.06845708936452866,
+        -0.028570100665092468,
+        -0.062949538230896
+      ],
+      "min": [
+        -0.06845712661743164,
+        -0.02857035957276821,
+        -0.06294971704483032
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 11760,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        -0.018168065696954727,
+        -0.18232035636901855,
+        0.9812799096107484,
+        0.117560513317585
+      ],
+      "min": [
+        -0.07457219809293747,
+        -0.902503490447998,
+        0.4130511581897736,
+        0.03284534439444542
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 18228,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        1.000000238418579,
+        1.000000238418579,
+        1.0000003576278689
+      ],
+      "min": [
+        0.9999998211860656,
+        0.9999995231628418,
+        0.9999996423721313
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 3136,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 18816,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        -1.1175900205273592e-8,
+        0.26611149311065674,
+        0
+      ],
+      "min": [
+        -1.1175900205273592e-8,
+        0.26611149311065674,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 12544,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.8507033586502075,
+        0.14946134388446808,
+        0.04984175786376,
+        -0.5191445350646973
+      ],
+      "min": [
+        -0.06756377220153809,
+        0.06949601322412491,
+        -0.026268262416124344,
+        -0.9922308921813964
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 19404,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        1.0000005960464478,
+        1.000000238418579,
+        1.0000005960464478
+      ],
+      "min": [
+        1.0000001192092896,
+        0.9999995231628418,
+        0.9999998211860656
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 3332,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 19992,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0,
+        0.2758249044418335,
+        0
+      ],
+      "min": [
+        0,
+        0.2758249044418335,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 13328,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.99649316072464,
+        -0.01710231974720955,
+        -0.022676724940538406,
+        -0.07459255307912827
+      ],
+      "min": [
+        0.8792483806610107,
+        -0.04609288275241852,
+        -0.06820148974657059,
+        -0.4750169813632965
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 20580,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.9999995827674866,
+        1,
+        1.0000003576278689
+      ],
+      "min": [
+        0.9999991655349731,
+        0.9999995231628418,
+        0.9999999403953552
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 3528,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        2
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 21168,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        -0.0014585109893232584,
+        -0.06619886308908463,
+        0.02785670943558216
+      ],
+      "min": [
+        -0.0014585329918190837,
+        -0.06619889289140701,
+        0.02785669080913067
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 14112,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        -0.009607579559087753,
+        -0.2635453343391419,
+        0.9620476961135864,
+        0.06995902955532074
+      ],
+      "min": [
+        -0.04577624797821045,
+        -0.4899238646030426,
+        0.8689604997634888,
+        -0.06424159556627274
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 21756,
+      "componentType": 5126,
+      "count": 49,
+      "max": [
+        0.9999996423721313,
+        1.0000003576278689,
+        0.9999998807907104
+      ],
+      "min": [
+        0.9999991655349731,
+        0.9999997615814208,
+        0.9999994039535524
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 3,
+      "byteOffset": 0,
+      "componentType": 5126,
+      "count": 19,
+      "max": [
+        0.780990481376648,
+        0.9918341040611268,
+        0.9992613196372986,
+        0,
+        1,
+        0.8904603719711304,
+        0.6854007244110107,
+        0,
+        0.79917311668396,
+        0.9999359250068665,
+        0.997134804725647,
+        0,
+        0.20702040195465088,
+        0.5989438891410828,
+        1.001250982284546,
+        1
+      ],
+      "min": [
+        -0.9985063076019288,
+        -0.9971349835395812,
+        -0.9999359250068665,
+        0,
+        -1,
+        -0.8904621005058289,
+        -0.4517692029476166,
+        0,
+        -0.18484599888324735,
+        -0.9853218197822572,
+        -0.997802197933197,
+        0,
+        -0.811928927898407,
+        -1.18982994556427,
+        -1.058609962463379,
+        1
+      ],
+      "type": "MAT4"
+    },
+    {
+      "componentType": 5123,
+      "count": 14016,
+      "max": [
+        3272
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "componentType": 5123,
+      "count": 3273,
+      "max": [
+        18,
+        18,
+        18,
+        18
+      ],
+      "min": [
+        0,
+        0,
+        0,
+        0
+      ],
+      "type": "VEC4"
+    },
+    {
+      "componentType": 5126,
+      "count": 3273,
+      "max": [
+        1,
+        0.9999808073043824,
+        0.9944446086883544
+      ],
+      "min": [
+        -1,
+        -0.9999808073043824,
+        -1
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5126,
+      "count": 3273,
+      "max": [
+        0.1809539943933487,
+        0.569136917591095,
+        1.5065499544143677
+      ],
+      "min": [
+        -0.13099999725818637,
+        -0.5691370964050293,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5126,
+      "count": 3273,
+      "max": [
+        0.990805983543396,
+        0.9880298972129822
+      ],
+      "min": [
+        0.014079390093684196,
+        0.008445978164672852
+      ],
+      "type": "VEC2"
+    },
+    {
+      "componentType": 5126,
+      "count": 3273,
+      "max": [
+        1,
+        0.989919900894165,
+        0.951076328754425,
+        0.8741077184677124
+      ],
+      "min": [
+        0.010080150328576565,
+        0,
+        0,
+        0
+      ],
+      "type": "VEC4"
+    }
+  ],
+  "materials": [
+    {
+      "pbrMetallicRoughness": {
+        "baseColorTexture": {
+          "index": 0
+        },
+        "metallicFactor": 0
+      },
+      "emissiveFactor": [
+        0,
+        0,
+        0
+      ],
+      "name": "Cesium_Man-effect"
+    }
+  ],
+  "textures": [
+    {
+      "sampler": 0,
+      "source": 0
+    }
+  ],
+  "images": [
+    {
+      "uri": "CesiumMan.jpg"
+    }
+  ],
+  "samplers": [
+    {
+      "magFilter": 9729,
+      "minFilter": 9986,
+      "wrapS": 10497,
+      "wrapT": 10497
+    }
+  ],
+  "bufferViews": [
+    {
+      "buffer": 0,
+      "byteOffset": 0,
+      "byteLength": 3724
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 3724,
+      "byteLength": 22344
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 26068,
+      "byteLength": 14896
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 40964,
+      "byteLength": 1216
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 42180,
+      "byteLength": 27757
+    }
+  ],
+  "buffers": [
+    {
+      "byteLength": 69937,
+      "uri": "0.bin"
+    }
+  ],
+  "extensionsRequired": [
+    "KHR_draco_mesh_compression"
+  ],
+  "extensionsUsed": [
+    "KHR_draco_mesh_compression"
+  ]
+}

BIN
examples/models/gltf/CesiumMan/glTF-Draco/CesiumMan.jpg


BIN
examples/models/gltf/CesiumMilkTruck/glTF-Draco/0.bin


+ 574 - 0
examples/models/gltf/CesiumMilkTruck/glTF-Draco/CesiumMilkTruck.gltf

@@ -0,0 +1,574 @@
+{
+  "asset": {
+    "generator": "COLLADA2GLTF",
+    "version": "2.0"
+  },
+  "scene": 0,
+  "scenes": [
+    {
+      "nodes": [
+        0
+      ]
+    }
+  ],
+  "nodes": [
+    {
+      "mesh": 0,
+      "children": [
+        3,
+        1
+      ]
+    },
+    {
+      "children": [
+        2
+      ],
+      "matrix": [
+        1,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0,
+        -1.352329969406128,
+        0.4277220070362091,
+        -2.98022992950564e-8,
+        1
+      ]
+    },
+    {
+      "mesh": 1,
+      "rotation": [
+        0,
+        0,
+        0.08848590403795242,
+        -0.9960774183273317
+      ]
+    },
+    {
+      "children": [
+        4
+      ],
+      "matrix": [
+        1,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        1,
+        0,
+        1.432669997215271,
+        0.4277220070362091,
+        -2.98022992950564e-8,
+        1
+      ]
+    },
+    {
+      "mesh": 1,
+      "rotation": [
+        0,
+        0,
+        0.08848590403795242,
+        -0.9960774183273317
+      ]
+    }
+  ],
+  "meshes": [
+    {
+      "primitives": [
+        {
+          "attributes": {
+            "NORMAL": 5,
+            "POSITION": 6,
+            "TEXCOORD_0": 7
+          },
+          "indices": 4,
+          "mode": 4,
+          "material": 0,
+          "extensions": {
+            "KHR_draco_mesh_compression": {
+              "bufferView": 2,
+              "attributes": {
+                "NORMAL": 0,
+                "POSITION": 1,
+                "TEXCOORD_0": 2
+              }
+            }
+          }
+        },
+        {
+          "attributes": {
+            "NORMAL": 9,
+            "POSITION": 10
+          },
+          "indices": 8,
+          "mode": 4,
+          "material": 1,
+          "extensions": {
+            "KHR_draco_mesh_compression": {
+              "bufferView": 3,
+              "attributes": {
+                "NORMAL": 0,
+                "POSITION": 1
+              }
+            }
+          }
+        },
+        {
+          "attributes": {
+            "NORMAL": 12,
+            "POSITION": 13
+          },
+          "indices": 11,
+          "mode": 4,
+          "material": 2,
+          "extensions": {
+            "KHR_draco_mesh_compression": {
+              "bufferView": 4,
+              "attributes": {
+                "NORMAL": 0,
+                "POSITION": 1
+              }
+            }
+          }
+        }
+      ],
+      "name": "Cesium_Milk_Truck"
+    },
+    {
+      "primitives": [
+        {
+          "attributes": {
+            "NORMAL": 15,
+            "POSITION": 16,
+            "TEXCOORD_0": 17
+          },
+          "indices": 14,
+          "mode": 4,
+          "material": 3,
+          "extensions": {
+            "KHR_draco_mesh_compression": {
+              "bufferView": 5,
+              "attributes": {
+                "NORMAL": 0,
+                "POSITION": 1,
+                "TEXCOORD_0": 2
+              }
+            }
+          }
+        }
+      ],
+      "name": "Wheels"
+    }
+  ],
+  "animations": [
+    {
+      "channels": [
+        {
+          "sampler": 0,
+          "target": {
+            "node": 4,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 1,
+          "target": {
+            "node": 2,
+            "path": "rotation"
+          }
+        }
+      ],
+      "samplers": [
+        {
+          "input": 0,
+          "interpolation": "LINEAR",
+          "output": 1
+        },
+        {
+          "input": 2,
+          "interpolation": "LINEAR",
+          "output": 3
+        }
+      ]
+    }
+  ],
+  "accessors": [
+    {
+      "bufferView": 0,
+      "byteOffset": 0,
+      "componentType": 5126,
+      "count": 31,
+      "max": [
+        1.25
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 0,
+      "componentType": 5126,
+      "count": 31,
+      "max": [
+        0,
+        0,
+        0.9990190863609314,
+        1
+      ],
+      "min": [
+        0,
+        0,
+        0,
+        -0.9960774183273317
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 124,
+      "componentType": 5126,
+      "count": 31,
+      "max": [
+        1.25
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 496,
+      "componentType": 5126,
+      "count": 31,
+      "max": [
+        0,
+        0,
+        0.9990190863609314,
+        1
+      ],
+      "min": [
+        0,
+        0,
+        0,
+        -0.9960774183273317
+      ],
+      "type": "VEC4"
+    },
+    {
+      "componentType": 5123,
+      "count": 5232,
+      "max": [
+        1855
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "componentType": 5126,
+      "count": 1856,
+      "max": [
+        1,
+        1,
+        1
+      ],
+      "min": [
+        -1,
+        -1,
+        -1
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5126,
+      "count": 1856,
+      "max": [
+        2.437999963760376,
+        2.5843698978424072,
+        1.3960000276565552
+      ],
+      "min": [
+        -2.430910110473633,
+        0.2667999863624573,
+        -1.3960000276565552
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5126,
+      "count": 1856,
+      "max": [
+        0.8964580297470093,
+        0.997245192527771
+      ],
+      "min": [
+        0.002956389915198088,
+        0.015672028064727783
+      ],
+      "type": "VEC2"
+    },
+    {
+      "componentType": 5123,
+      "count": 168,
+      "max": [
+        71
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "componentType": 5126,
+      "count": 72,
+      "max": [
+        0.957480013370514,
+        0.28850099444389343,
+        1
+      ],
+      "min": [
+        -1,
+        0,
+        -1
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5126,
+      "count": 72,
+      "max": [
+        1.6011799573898315,
+        2.3545401096343994,
+        1.3960000276565552
+      ],
+      "min": [
+        0.22885000705718997,
+        1.631850004196167,
+        -1.3960000276565552
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5123,
+      "count": 864,
+      "max": [
+        463
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "componentType": 5126,
+      "count": 464,
+      "max": [
+        1,
+        1,
+        1
+      ],
+      "min": [
+        -1,
+        -1,
+        -1
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5126,
+      "count": 464,
+      "max": [
+        1.62267005443573,
+        2.3919999599456787,
+        1.100000023841858
+      ],
+      "min": [
+        0.1932000070810318,
+        1.5961999893188477,
+        -1.1100000143051147
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5123,
+      "count": 2304,
+      "max": [
+        585
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "componentType": 5126,
+      "count": 586,
+      "max": [
+        0.9990389943122864,
+        0.9990379810333252,
+        1
+      ],
+      "min": [
+        -0.9990379810333252,
+        -0.9990379810333252,
+        -1
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5126,
+      "count": 586,
+      "max": [
+        0.4277999997138977,
+        0.4277999997138977,
+        1.0579999685287476
+      ],
+      "min": [
+        -0.4277999997138977,
+        -0.4277999997138977,
+        -1.0579999685287476
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5126,
+      "count": 586,
+      "max": [
+        0.9936569929122924,
+        0.9895756244659424
+      ],
+      "min": [
+        0.6050930023193359,
+        0.00905001163482666
+      ],
+      "type": "VEC2"
+    }
+  ],
+  "materials": [
+    {
+      "pbrMetallicRoughness": {
+        "baseColorTexture": {
+          "index": 0
+        },
+        "metallicFactor": 0
+      },
+      "name": "truck"
+    },
+    {
+      "pbrMetallicRoughness": {
+        "baseColorFactor": [
+          0,
+          0.04050629958510399,
+          0.021240700036287308,
+          1
+        ],
+        "metallicFactor": 0
+      },
+      "name": "glass"
+    },
+    {
+      "pbrMetallicRoughness": {
+        "baseColorFactor": [
+          0.06400000303983688,
+          0.06400000303983688,
+          0.06400000303983688,
+          1
+        ],
+        "metallicFactor": 0
+      },
+      "name": "window_trim"
+    },
+    {
+      "pbrMetallicRoughness": {
+        "baseColorTexture": {
+          "index": 1
+        },
+        "metallicFactor": 0
+      },
+      "name": "wheels"
+    }
+  ],
+  "textures": [
+    {
+      "sampler": 0,
+      "source": 0
+    },
+    {
+      "sampler": 0,
+      "source": 0
+    }
+  ],
+  "images": [
+    {
+      "uri": "CesiumMilkTruck.png"
+    }
+  ],
+  "samplers": [
+    {
+      "magFilter": 9729,
+      "minFilter": 9986,
+      "wrapS": 10497,
+      "wrapT": 10497
+    }
+  ],
+  "bufferViews": [
+    {
+      "buffer": 0,
+      "byteOffset": 0,
+      "byteLength": 248
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 248,
+      "byteLength": 992
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 1240,
+      "byteLength": 10070
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 11310,
+      "byteLength": 509
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 11819,
+      "byteLength": 1414
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 13233,
+      "byteLength": 4055
+    }
+  ],
+  "buffers": [
+    {
+      "byteLength": 17288,
+      "uri": "0.bin"
+    }
+  ],
+  "extensionsRequired": [
+    "KHR_draco_mesh_compression"
+  ],
+  "extensionsUsed": [
+    "KHR_draco_mesh_compression"
+  ]
+}

BIN
examples/models/gltf/CesiumMilkTruck/glTF-Draco/CesiumMilkTruck.png


BIN
examples/models/gltf/Duck/glTF-Draco/0.bin


+ 212 - 0
examples/models/gltf/Duck/glTF-Draco/Duck.gltf

@@ -0,0 +1,212 @@
+{
+  "asset": {
+    "generator": "COLLADA2GLTF",
+    "version": "2.0"
+  },
+  "scene": 0,
+  "scenes": [
+    {
+      "nodes": [
+        0
+      ]
+    }
+  ],
+  "nodes": [
+    {
+      "children": [
+        2,
+        1
+      ],
+      "matrix": [
+        0.009999999776482582,
+        0,
+        0,
+        0,
+        0,
+        0.009999999776482582,
+        0,
+        0,
+        0,
+        0,
+        0.009999999776482582,
+        0,
+        0,
+        0,
+        0,
+        1
+      ]
+    },
+    {
+      "matrix": [
+        -0.7289686799049377,
+        0,
+        -0.6845470666885376,
+        0,
+        -0.4252049028873444,
+        0.7836934328079224,
+        0.4527972936630249,
+        0,
+        0.5364750623703003,
+        0.6211478114128113,
+        -0.571287989616394,
+        0,
+        400.1130065917969,
+        463.2640075683594,
+        -431.0780334472656,
+        1
+      ],
+      "camera": 0
+    },
+    {
+      "mesh": 0
+    }
+  ],
+  "cameras": [
+    {
+      "perspective": {
+        "aspectRatio": 1.5,
+        "yfov": 0.6605925559997559,
+        "zfar": 10000,
+        "znear": 1
+      },
+      "type": "perspective"
+    }
+  ],
+  "meshes": [
+    {
+      "primitives": [
+        {
+          "attributes": {
+            "NORMAL": 1,
+            "POSITION": 2,
+            "TEXCOORD_0": 3
+          },
+          "indices": 0,
+          "mode": 4,
+          "material": 0,
+          "extensions": {
+            "KHR_draco_mesh_compression": {
+              "bufferView": 0,
+              "attributes": {
+                "NORMAL": 0,
+                "POSITION": 1,
+                "TEXCOORD_0": 2
+              }
+            }
+          }
+        }
+      ],
+      "name": "LOD3spShape"
+    }
+  ],
+  "accessors": [
+    {
+      "componentType": 5123,
+      "count": 12636,
+      "max": [
+        2398
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "componentType": 5126,
+      "count": 2399,
+      "max": [
+        0.9995989799499512,
+        0.999580979347229,
+        0.9984359741210938
+      ],
+      "min": [
+        -0.9990839958190918,
+        -1,
+        -0.9998319745063782
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5126,
+      "count": 2399,
+      "max": [
+        96.17990112304688,
+        163.97000122070312,
+        53.92519760131836
+      ],
+      "min": [
+        -69.29850006103516,
+        9.929369926452637,
+        -61.32819747924805
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5126,
+      "count": 2399,
+      "max": [
+        0.9833459854125975,
+        0.9800369739532472
+      ],
+      "min": [
+        0.026409000158309937,
+        0.01996302604675293
+      ],
+      "type": "VEC2"
+    }
+  ],
+  "materials": [
+    {
+      "pbrMetallicRoughness": {
+        "baseColorTexture": {
+          "index": 0
+        },
+        "metallicFactor": 0
+      },
+      "emissiveFactor": [
+        0,
+        0,
+        0
+      ],
+      "name": "blinn3-fx"
+    }
+  ],
+  "textures": [
+    {
+      "sampler": 0,
+      "source": 0
+    }
+  ],
+  "images": [
+    {
+      "uri": "DuckCM.png"
+    }
+  ],
+  "samplers": [
+    {
+      "magFilter": 9729,
+      "minFilter": 9986,
+      "wrapS": 10497,
+      "wrapT": 10497
+    }
+  ],
+  "bufferViews": [
+    {
+      "buffer": 0,
+      "byteOffset": 0,
+      "byteLength": 18884
+    }
+  ],
+  "buffers": [
+    {
+      "byteLength": 18884,
+      "uri": "0.bin"
+    }
+  ],
+  "extensionsRequired": [
+    "KHR_draco_mesh_compression"
+  ],
+  "extensionsUsed": [
+    "KHR_draco_mesh_compression"
+  ]
+}

BIN
examples/models/gltf/Duck/glTF-Draco/DuckCM.png


BIN
examples/models/gltf/Monster/glTF-Draco/0.bin


+ 4272 - 0
examples/models/gltf/Monster/glTF-Draco/Monster.gltf

@@ -0,0 +1,4272 @@
+{
+  "asset": {
+    "generator": "COLLADA2GLTF",
+    "version": "2.0"
+  },
+  "scene": 0,
+  "scenes": [
+    {
+      "nodes": [
+        0
+      ]
+    }
+  ],
+  "nodes": [
+    {
+      "children": [
+        34,
+        1
+      ],
+      "matrix": [
+        1,
+        0,
+        0,
+        0,
+        0,
+        0,
+        -1,
+        0,
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1
+      ]
+    },
+    {
+      "mesh": 0,
+      "skin": 0
+    },
+    {
+      "children": [
+        3
+      ],
+      "translation": [
+        -1.1628570556640625,
+        99.4341278076172,
+        -44.13312911987305
+      ],
+      "rotation": [
+        0.6116809844970703,
+        0.354727566242218,
+        0.6117032766342163,
+        0.3547307550907135
+      ],
+      "scale": [
+        1,
+        1.0000001192092896,
+        1
+      ]
+    },
+    {
+      "children": [
+        18,
+        13,
+        8,
+        4
+      ],
+      "translation": [
+        0,
+        142.05380249023438,
+        0
+      ],
+      "rotation": [
+        0.009599274955689909,
+        -0.0010376531863585117,
+        0.9151230454444884,
+        0.4030590653419495
+      ],
+      "scale": [
+        0.9999998211860656,
+        1,
+        1.0000001192092896
+      ]
+    },
+    {
+      "children": [
+        5
+      ],
+      "translation": [
+        -229.2772979736328,
+        51.57170867919922,
+        3.920083999633789
+      ],
+      "rotation": [
+        -0.0037880190648138527,
+        -0.008884812705218792,
+        -0.6532931327819824,
+        -0.7570434212684631
+      ],
+      "scale": [
+        0.9999997615814208,
+        1.0000001192092896,
+        1
+      ]
+    },
+    {
+      "children": [
+        6
+      ],
+      "translation": [
+        -0.000007629389983776491,
+        275.1336059570313,
+        2.38419005427204e-7
+      ],
+      "rotation": [
+        -5.957689381830278e-7,
+        -2.2050939207929335e-7,
+        -0.12589137256145477,
+        -0.9920440316200256
+      ],
+      "scale": [
+        0.9999999403953552,
+        0.9999998807907104,
+        0.9999998807907104
+      ]
+    },
+    {
+      "children": [
+        7
+      ],
+      "translation": [
+        -0.000022888199964654632,
+        339.0889892578125,
+        0
+      ],
+      "rotation": [
+        8.796734505267523e-7,
+        6.967138688196428e-7,
+        -0.11349057406187057,
+        -0.9935390949249268
+      ],
+      "scale": [
+        1,
+        0.9999999403953552,
+        1
+      ]
+    },
+    {
+      "translation": [
+        0.00001525879997643642,
+        374.1900939941406,
+        0
+      ],
+      "rotation": [
+        0.0003985898219980299,
+        0.9999998807907104,
+        3.396345391593059e-7,
+        0.000003304860456410097
+      ],
+      "scale": [
+        1,
+        0.9999998211860656,
+        1
+      ]
+    },
+    {
+      "children": [
+        9
+      ],
+      "translation": [
+        -101.904296875,
+        96.81951141357422,
+        158.1428985595703
+      ],
+      "rotation": [
+        -0.5870404839515686,
+        -0.4025762379169464,
+        0.37822479009628296,
+        -0.5918291211128235
+      ],
+      "scale": [
+        1.0000005960464478,
+        0.9999995827674866,
+        1
+      ]
+    },
+    {
+      "children": [
+        10
+      ],
+      "translation": [
+        0.00001525879997643642,
+        547.8187866210938,
+        0.00003051759995287284
+      ],
+      "rotation": [
+        0.8947640061378479,
+        -0.0988358035683632,
+        0.3619275391101837,
+        -0.24215173721313477
+      ],
+      "scale": [
+        0.9999999403953552,
+        1,
+        1.0000005960464478
+      ]
+    },
+    {
+      "children": [
+        11
+      ],
+      "translation": [
+        -0.00006103519990574569,
+        532.7479248046875,
+        0.00003814700176008046
+      ],
+      "rotation": [
+        -0.6655603647232056,
+        0.43436089158058167,
+        -0.24011343717575073,
+        -0.5574095845222473
+      ],
+      "scale": [
+        1,
+        1,
+        0.9999998211860656
+      ]
+    },
+    {
+      "children": [
+        12
+      ],
+      "translation": [
+        -0.00001525879997643642,
+        286.1813049316406,
+        -0.00005340580173651688
+      ],
+      "rotation": [
+        -0.25593262910842896,
+        0.3620181381702423,
+        0.3219507336616516,
+        -0.8365339636802673
+      ],
+      "scale": [
+        0.9999999403953552,
+        0.9999999403953552,
+        1
+      ]
+    },
+    {
+      "translation": [
+        0,
+        166.96800231933597,
+        0.000011444099982327316
+      ],
+      "rotation": [
+        0.7009931206703186,
+        -0.700989305973053,
+        0.09279558807611465,
+        -0.09279836714267732
+      ],
+      "scale": [
+        0.9999998807907104,
+        0.9999998807907104,
+        0.9999998807907104
+      ]
+    },
+    {
+      "children": [
+        14
+      ],
+      "translation": [
+        -107.67569732666016,
+        94.97682189941406,
+        -155.40679931640625
+      ],
+      "rotation": [
+        0.5973692536354065,
+        0.3938325047492981,
+        0.3649851679801941,
+        -0.5956777334213257
+      ],
+      "scale": [
+        0.9999995827674866,
+        1.0000005960464478,
+        1
+      ]
+    },
+    {
+      "children": [
+        15
+      ],
+      "translation": [
+        -0.00001525879997643642,
+        547.819091796875,
+        0.000003814699994109105
+      ],
+      "rotation": [
+        0.8947624564170837,
+        -0.0988353118300438,
+        -0.3619306087493897,
+        0.24215207993984225
+      ],
+      "scale": [
+        1,
+        0.9999997615814208,
+        0.9999987483024596
+      ]
+    },
+    {
+      "children": [
+        16
+      ],
+      "translation": [
+        0,
+        532.7470092773438,
+        0
+      ],
+      "rotation": [
+        0.6655597686767578,
+        -0.4343646466732025,
+        -0.24011126160621643,
+        -0.5574080944061279
+      ],
+      "scale": [
+        0.9999998807907104,
+        0.999999701976776,
+        0.9999998807907104
+      ]
+    },
+    {
+      "children": [
+        17
+      ],
+      "translation": [
+        0.00001525879997643642,
+        286.1807861328125,
+        -0.000022888199964654632
+      ],
+      "rotation": [
+        0.25593167543411255,
+        -0.3620148301124573,
+        0.3219532072544098,
+        -0.8365347385406494
+      ],
+      "scale": [
+        0.9999999403953552,
+        1.0000001192092896,
+        0.9999999403953552
+      ]
+    },
+    {
+      "translation": [
+        -0.00006103519990574569,
+        166.968994140625,
+        0.000003814699994109105
+      ],
+      "rotation": [
+        0.7009877562522888,
+        0.7009937167167664,
+        -0.09279301762580872,
+        -0.09280823916196825
+      ],
+      "scale": [
+        0.9999998807907104,
+        1,
+        1
+      ]
+    },
+    {
+      "children": [
+        19
+      ],
+      "translation": [
+        399.1947937011719,
+        -0.3195419013500214,
+        -0.0030490760691463947
+      ],
+      "rotation": [
+        -0.004396272823214531,
+        -0.0025365734472870827,
+        -0.05076199769973755,
+        -0.9986978769302368
+      ],
+      "scale": [
+        0.9999999403953552,
+        1,
+        1.0000001192092896
+      ]
+    },
+    {
+      "children": [
+        32,
+        26,
+        20
+      ],
+      "translation": [
+        402.5516052246094,
+        -0.10438539832830428,
+        -0.002846478950232268
+      ],
+      "rotation": [
+        -0.000004574490048980806,
+        -0.000010040300367109012,
+        0.35299694538116455,
+        -0.9356244802474976
+      ]
+    },
+    {
+      "children": [
+        21
+      ],
+      "translation": [
+        0.00396728515625,
+        0.14590449631214145,
+        -43.16883850097656
+      ],
+      "rotation": [
+        0.629516065120697,
+        0.3285962641239166,
+        -0.1958152800798416,
+        -0.6763061881065369
+      ],
+      "scale": [
+        0.999999701976776,
+        1.0000003576278689,
+        0.9999999403953552
+      ]
+    },
+    {
+      "children": [
+        22
+      ],
+      "translation": [
+        -0.00030517601408064365,
+        175.07150268554688,
+        0.00007629390165675431
+      ],
+      "rotation": [
+        -0.5734227895736694,
+        0.18226787447929385,
+        -0.23226681351661685,
+        -0.7642098665237427
+      ],
+      "scale": [
+        1.0000001192092896,
+        1.0000003576278689,
+        0.999999701976776
+      ]
+    },
+    {
+      "children": [
+        23
+      ],
+      "translation": [
+        0,
+        370.0174865722656,
+        0
+      ],
+      "rotation": [
+        -0.27098795771598816,
+        -0.08019046485424042,
+        0.25969398021698,
+        -0.923414409160614
+      ],
+      "scale": [
+        1,
+        1.0000001192092896,
+        1.0000001192092896
+      ]
+    },
+    {
+      "children": [
+        24
+      ],
+      "translation": [
+        0.00006103519990574569,
+        370.0173034667969,
+        0
+      ],
+      "rotation": [
+        0.3159535229206085,
+        0.3460785150527954,
+        0.36148232221603394,
+        -0.8060604929924011
+      ],
+      "scale": [
+        0.9999998211860656,
+        0.9999999403953552,
+        1
+      ]
+    },
+    {
+      "children": [
+        25
+      ],
+      "translation": [
+        0.00005340580173651688,
+        186.69309997558597,
+        0.00003051759995287284
+      ],
+      "rotation": [
+        -0.061906907707452774,
+        -0.6184580326080322,
+        0.322037935256958,
+        -0.7141210436820984
+      ],
+      "scale": [
+        1.0000001192092896,
+        1.0000001192092896,
+        0.9999999403953552
+      ]
+    },
+    {
+      "translation": [
+        0,
+        167.76010131835938,
+        0
+      ],
+      "rotation": [
+        -0.18707998096942904,
+        0.18709905445575717,
+        0.6818874478340149,
+        -0.6819269061088562
+      ],
+      "scale": [
+        0.9999998807907104,
+        0.9999998211860656,
+        1
+      ]
+    },
+    {
+      "children": [
+        27
+      ],
+      "translation": [
+        0.0004882809880655259,
+        0.1427001953125,
+        43.16946029663086
+      ],
+      "rotation": [
+        -0.6269798874855042,
+        -0.3371228575706482,
+        -0.20376519858837128,
+        -0.6721045970916748
+      ],
+      "scale": [
+        1.0000003576278689,
+        0.9999996423721313,
+        1.0000001192092896
+      ]
+    },
+    {
+      "children": [
+        28
+      ],
+      "translation": [
+        0,
+        175.07080078125,
+        -0.00006103519990574569
+      ],
+      "rotation": [
+        0.5832023024559021,
+        -0.18192623555660248,
+        -0.20986200869083405,
+        -0.7633713483810425
+      ],
+      "scale": [
+        0.9999997615814208,
+        1,
+        0.9999998807907104
+      ]
+    },
+    {
+      "children": [
+        29
+      ],
+      "translation": [
+        -0.00006103519990574569,
+        370.0173034667969,
+        -0.00006103519990574569
+      ],
+      "rotation": [
+        0.2709869146347046,
+        0.0801902487874031,
+        0.2596950829029083,
+        -0.923414409160614
+      ],
+      "scale": [
+        1.0000001192092896,
+        1.0000001192092896,
+        1
+      ]
+    },
+    {
+      "children": [
+        30
+      ],
+      "translation": [
+        0.00006103519990574569,
+        370.01708984375,
+        0
+      ],
+      "rotation": [
+        -0.31595009565353394,
+        -0.3460729122161865,
+        0.36148548126220703,
+        -0.8060628175735474
+      ],
+      "scale": [
+        0.9999998807907104,
+        0.9999999403953552,
+        0.9999998807907104
+      ]
+    },
+    {
+      "children": [
+        31
+      ],
+      "translation": [
+        -0.000022888199964654632,
+        186.69400024414065,
+        0.000007629389983776491
+      ],
+      "rotation": [
+        0.0619109645485878,
+        0.6184656620025635,
+        0.322035700082779,
+        -0.7141150236129761
+      ],
+      "scale": [
+        1,
+        1.0000001192092896,
+        1
+      ]
+    },
+    {
+      "translation": [
+        0,
+        167.76199340820312,
+        -0.00006103519990574569
+      ],
+      "rotation": [
+        -0.18710123002529144,
+        -0.18708838522434235,
+        -0.6819261908531189,
+        -0.6818854212760925
+      ],
+      "scale": [
+        1,
+        0.9999999403953552,
+        1
+      ]
+    },
+    {
+      "children": [
+        33
+      ],
+      "translation": [
+        181.73240661621097,
+        -0.0008544920128770173,
+        0.002595663070678711
+      ],
+      "rotation": [
+        0.00926738977432251,
+        0.002782774157822132,
+        0.38848116993904114,
+        -0.9214058518409728
+      ],
+      "scale": [
+        1,
+        0.9999999403953552,
+        1
+      ]
+    },
+    {
+      "translation": [
+        -0.00003051759995287284,
+        345.1398010253906,
+        0
+      ],
+      "rotation": [
+        -0.000010299070709152147,
+        -0.000018406668459647335,
+        -0.7070866227149963,
+        -0.7071268558502197
+      ],
+      "scale": [
+        1,
+        0.9999998807907104,
+        1
+      ]
+    },
+    {
+      "children": [
+        2
+      ],
+      "matrix": [
+        0.02539999969303608,
+        0,
+        0,
+        0,
+        0,
+        0.02539999969303608,
+        0,
+        0,
+        0,
+        0,
+        0.02539999969303608,
+        0,
+        0,
+        0,
+        11.732219696044922,
+        1
+      ]
+    }
+  ],
+  "meshes": [
+    {
+      "primitives": [
+        {
+          "attributes": {
+            "JOINTS_0": 130,
+            "NORMAL": 131,
+            "POSITION": 132,
+            "TEXCOORD_0": 133,
+            "WEIGHTS_0": 134
+          },
+          "indices": 129,
+          "mode": 4,
+          "material": 0,
+          "extensions": {
+            "KHR_draco_mesh_compression": {
+              "bufferView": 4,
+              "attributes": {
+                "JOINTS_0": 0,
+                "NORMAL": 1,
+                "POSITION": 2,
+                "TEXCOORD_0": 3,
+                "WEIGHTS_0": 4
+              }
+            }
+          }
+        }
+      ],
+      "name": "monster"
+    }
+  ],
+  "animations": [
+    {
+      "channels": [
+        {
+          "sampler": 0,
+          "target": {
+            "node": 2,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 1,
+          "target": {
+            "node": 2,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 2,
+          "target": {
+            "node": 2,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 3,
+          "target": {
+            "node": 3,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 4,
+          "target": {
+            "node": 3,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 5,
+          "target": {
+            "node": 3,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 6,
+          "target": {
+            "node": 18,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 7,
+          "target": {
+            "node": 18,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 8,
+          "target": {
+            "node": 18,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 9,
+          "target": {
+            "node": 19,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 10,
+          "target": {
+            "node": 19,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 11,
+          "target": {
+            "node": 19,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 12,
+          "target": {
+            "node": 32,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 13,
+          "target": {
+            "node": 32,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 14,
+          "target": {
+            "node": 32,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 15,
+          "target": {
+            "node": 33,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 16,
+          "target": {
+            "node": 33,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 17,
+          "target": {
+            "node": 33,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 18,
+          "target": {
+            "node": 26,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 19,
+          "target": {
+            "node": 26,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 20,
+          "target": {
+            "node": 26,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 21,
+          "target": {
+            "node": 27,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 22,
+          "target": {
+            "node": 27,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 23,
+          "target": {
+            "node": 27,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 24,
+          "target": {
+            "node": 28,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 25,
+          "target": {
+            "node": 28,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 26,
+          "target": {
+            "node": 28,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 27,
+          "target": {
+            "node": 29,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 28,
+          "target": {
+            "node": 29,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 29,
+          "target": {
+            "node": 29,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 30,
+          "target": {
+            "node": 30,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 31,
+          "target": {
+            "node": 30,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 32,
+          "target": {
+            "node": 30,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 33,
+          "target": {
+            "node": 31,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 34,
+          "target": {
+            "node": 31,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 35,
+          "target": {
+            "node": 31,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 36,
+          "target": {
+            "node": 20,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 37,
+          "target": {
+            "node": 20,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 38,
+          "target": {
+            "node": 20,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 39,
+          "target": {
+            "node": 21,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 40,
+          "target": {
+            "node": 21,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 41,
+          "target": {
+            "node": 21,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 42,
+          "target": {
+            "node": 22,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 43,
+          "target": {
+            "node": 22,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 44,
+          "target": {
+            "node": 22,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 45,
+          "target": {
+            "node": 23,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 46,
+          "target": {
+            "node": 23,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 47,
+          "target": {
+            "node": 23,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 48,
+          "target": {
+            "node": 24,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 49,
+          "target": {
+            "node": 24,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 50,
+          "target": {
+            "node": 24,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 51,
+          "target": {
+            "node": 25,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 52,
+          "target": {
+            "node": 25,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 53,
+          "target": {
+            "node": 25,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 54,
+          "target": {
+            "node": 13,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 55,
+          "target": {
+            "node": 13,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 56,
+          "target": {
+            "node": 13,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 57,
+          "target": {
+            "node": 14,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 58,
+          "target": {
+            "node": 14,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 59,
+          "target": {
+            "node": 14,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 60,
+          "target": {
+            "node": 15,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 61,
+          "target": {
+            "node": 15,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 62,
+          "target": {
+            "node": 15,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 63,
+          "target": {
+            "node": 16,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 64,
+          "target": {
+            "node": 16,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 65,
+          "target": {
+            "node": 16,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 66,
+          "target": {
+            "node": 17,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 67,
+          "target": {
+            "node": 17,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 68,
+          "target": {
+            "node": 17,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 69,
+          "target": {
+            "node": 8,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 70,
+          "target": {
+            "node": 8,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 71,
+          "target": {
+            "node": 8,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 72,
+          "target": {
+            "node": 9,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 73,
+          "target": {
+            "node": 9,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 74,
+          "target": {
+            "node": 9,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 75,
+          "target": {
+            "node": 10,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 76,
+          "target": {
+            "node": 10,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 77,
+          "target": {
+            "node": 10,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 78,
+          "target": {
+            "node": 11,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 79,
+          "target": {
+            "node": 11,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 80,
+          "target": {
+            "node": 11,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 81,
+          "target": {
+            "node": 12,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 82,
+          "target": {
+            "node": 12,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 83,
+          "target": {
+            "node": 12,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 84,
+          "target": {
+            "node": 4,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 85,
+          "target": {
+            "node": 4,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 86,
+          "target": {
+            "node": 4,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 87,
+          "target": {
+            "node": 5,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 88,
+          "target": {
+            "node": 5,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 89,
+          "target": {
+            "node": 5,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 90,
+          "target": {
+            "node": 6,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 91,
+          "target": {
+            "node": 6,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 92,
+          "target": {
+            "node": 6,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 93,
+          "target": {
+            "node": 7,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 94,
+          "target": {
+            "node": 7,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 95,
+          "target": {
+            "node": 7,
+            "path": "scale"
+          }
+        }
+      ],
+      "samplers": [
+        {
+          "input": 0,
+          "interpolation": "LINEAR",
+          "output": 1
+        },
+        {
+          "input": 0,
+          "interpolation": "LINEAR",
+          "output": 2
+        },
+        {
+          "input": 0,
+          "interpolation": "LINEAR",
+          "output": 3
+        },
+        {
+          "input": 4,
+          "interpolation": "LINEAR",
+          "output": 5
+        },
+        {
+          "input": 4,
+          "interpolation": "LINEAR",
+          "output": 6
+        },
+        {
+          "input": 4,
+          "interpolation": "LINEAR",
+          "output": 7
+        },
+        {
+          "input": 8,
+          "interpolation": "LINEAR",
+          "output": 9
+        },
+        {
+          "input": 8,
+          "interpolation": "LINEAR",
+          "output": 10
+        },
+        {
+          "input": 8,
+          "interpolation": "LINEAR",
+          "output": 11
+        },
+        {
+          "input": 12,
+          "interpolation": "LINEAR",
+          "output": 13
+        },
+        {
+          "input": 12,
+          "interpolation": "LINEAR",
+          "output": 14
+        },
+        {
+          "input": 12,
+          "interpolation": "LINEAR",
+          "output": 15
+        },
+        {
+          "input": 16,
+          "interpolation": "LINEAR",
+          "output": 17
+        },
+        {
+          "input": 16,
+          "interpolation": "LINEAR",
+          "output": 18
+        },
+        {
+          "input": 16,
+          "interpolation": "LINEAR",
+          "output": 19
+        },
+        {
+          "input": 20,
+          "interpolation": "LINEAR",
+          "output": 21
+        },
+        {
+          "input": 20,
+          "interpolation": "LINEAR",
+          "output": 22
+        },
+        {
+          "input": 20,
+          "interpolation": "LINEAR",
+          "output": 23
+        },
+        {
+          "input": 24,
+          "interpolation": "LINEAR",
+          "output": 25
+        },
+        {
+          "input": 24,
+          "interpolation": "LINEAR",
+          "output": 26
+        },
+        {
+          "input": 24,
+          "interpolation": "LINEAR",
+          "output": 27
+        },
+        {
+          "input": 28,
+          "interpolation": "LINEAR",
+          "output": 29
+        },
+        {
+          "input": 28,
+          "interpolation": "LINEAR",
+          "output": 30
+        },
+        {
+          "input": 28,
+          "interpolation": "LINEAR",
+          "output": 31
+        },
+        {
+          "input": 32,
+          "interpolation": "LINEAR",
+          "output": 33
+        },
+        {
+          "input": 32,
+          "interpolation": "LINEAR",
+          "output": 34
+        },
+        {
+          "input": 32,
+          "interpolation": "LINEAR",
+          "output": 35
+        },
+        {
+          "input": 36,
+          "interpolation": "LINEAR",
+          "output": 37
+        },
+        {
+          "input": 36,
+          "interpolation": "LINEAR",
+          "output": 38
+        },
+        {
+          "input": 36,
+          "interpolation": "LINEAR",
+          "output": 39
+        },
+        {
+          "input": 40,
+          "interpolation": "LINEAR",
+          "output": 41
+        },
+        {
+          "input": 40,
+          "interpolation": "LINEAR",
+          "output": 42
+        },
+        {
+          "input": 40,
+          "interpolation": "LINEAR",
+          "output": 43
+        },
+        {
+          "input": 44,
+          "interpolation": "LINEAR",
+          "output": 45
+        },
+        {
+          "input": 44,
+          "interpolation": "LINEAR",
+          "output": 46
+        },
+        {
+          "input": 44,
+          "interpolation": "LINEAR",
+          "output": 47
+        },
+        {
+          "input": 48,
+          "interpolation": "LINEAR",
+          "output": 49
+        },
+        {
+          "input": 48,
+          "interpolation": "LINEAR",
+          "output": 50
+        },
+        {
+          "input": 48,
+          "interpolation": "LINEAR",
+          "output": 51
+        },
+        {
+          "input": 52,
+          "interpolation": "LINEAR",
+          "output": 53
+        },
+        {
+          "input": 52,
+          "interpolation": "LINEAR",
+          "output": 54
+        },
+        {
+          "input": 52,
+          "interpolation": "LINEAR",
+          "output": 55
+        },
+        {
+          "input": 56,
+          "interpolation": "LINEAR",
+          "output": 57
+        },
+        {
+          "input": 56,
+          "interpolation": "LINEAR",
+          "output": 58
+        },
+        {
+          "input": 56,
+          "interpolation": "LINEAR",
+          "output": 59
+        },
+        {
+          "input": 60,
+          "interpolation": "LINEAR",
+          "output": 61
+        },
+        {
+          "input": 60,
+          "interpolation": "LINEAR",
+          "output": 62
+        },
+        {
+          "input": 60,
+          "interpolation": "LINEAR",
+          "output": 63
+        },
+        {
+          "input": 64,
+          "interpolation": "LINEAR",
+          "output": 65
+        },
+        {
+          "input": 64,
+          "interpolation": "LINEAR",
+          "output": 66
+        },
+        {
+          "input": 64,
+          "interpolation": "LINEAR",
+          "output": 67
+        },
+        {
+          "input": 68,
+          "interpolation": "LINEAR",
+          "output": 69
+        },
+        {
+          "input": 68,
+          "interpolation": "LINEAR",
+          "output": 70
+        },
+        {
+          "input": 68,
+          "interpolation": "LINEAR",
+          "output": 71
+        },
+        {
+          "input": 72,
+          "interpolation": "LINEAR",
+          "output": 73
+        },
+        {
+          "input": 72,
+          "interpolation": "LINEAR",
+          "output": 74
+        },
+        {
+          "input": 72,
+          "interpolation": "LINEAR",
+          "output": 75
+        },
+        {
+          "input": 76,
+          "interpolation": "LINEAR",
+          "output": 77
+        },
+        {
+          "input": 76,
+          "interpolation": "LINEAR",
+          "output": 78
+        },
+        {
+          "input": 76,
+          "interpolation": "LINEAR",
+          "output": 79
+        },
+        {
+          "input": 80,
+          "interpolation": "LINEAR",
+          "output": 81
+        },
+        {
+          "input": 80,
+          "interpolation": "LINEAR",
+          "output": 82
+        },
+        {
+          "input": 80,
+          "interpolation": "LINEAR",
+          "output": 83
+        },
+        {
+          "input": 84,
+          "interpolation": "LINEAR",
+          "output": 85
+        },
+        {
+          "input": 84,
+          "interpolation": "LINEAR",
+          "output": 86
+        },
+        {
+          "input": 84,
+          "interpolation": "LINEAR",
+          "output": 87
+        },
+        {
+          "input": 88,
+          "interpolation": "LINEAR",
+          "output": 89
+        },
+        {
+          "input": 88,
+          "interpolation": "LINEAR",
+          "output": 90
+        },
+        {
+          "input": 88,
+          "interpolation": "LINEAR",
+          "output": 91
+        },
+        {
+          "input": 92,
+          "interpolation": "LINEAR",
+          "output": 93
+        },
+        {
+          "input": 92,
+          "interpolation": "LINEAR",
+          "output": 94
+        },
+        {
+          "input": 92,
+          "interpolation": "LINEAR",
+          "output": 95
+        },
+        {
+          "input": 96,
+          "interpolation": "LINEAR",
+          "output": 97
+        },
+        {
+          "input": 96,
+          "interpolation": "LINEAR",
+          "output": 98
+        },
+        {
+          "input": 96,
+          "interpolation": "LINEAR",
+          "output": 99
+        },
+        {
+          "input": 100,
+          "interpolation": "LINEAR",
+          "output": 101
+        },
+        {
+          "input": 100,
+          "interpolation": "LINEAR",
+          "output": 102
+        },
+        {
+          "input": 100,
+          "interpolation": "LINEAR",
+          "output": 103
+        },
+        {
+          "input": 104,
+          "interpolation": "LINEAR",
+          "output": 105
+        },
+        {
+          "input": 104,
+          "interpolation": "LINEAR",
+          "output": 106
+        },
+        {
+          "input": 104,
+          "interpolation": "LINEAR",
+          "output": 107
+        },
+        {
+          "input": 108,
+          "interpolation": "LINEAR",
+          "output": 109
+        },
+        {
+          "input": 108,
+          "interpolation": "LINEAR",
+          "output": 110
+        },
+        {
+          "input": 108,
+          "interpolation": "LINEAR",
+          "output": 111
+        },
+        {
+          "input": 112,
+          "interpolation": "LINEAR",
+          "output": 113
+        },
+        {
+          "input": 112,
+          "interpolation": "LINEAR",
+          "output": 114
+        },
+        {
+          "input": 112,
+          "interpolation": "LINEAR",
+          "output": 115
+        },
+        {
+          "input": 116,
+          "interpolation": "LINEAR",
+          "output": 117
+        },
+        {
+          "input": 116,
+          "interpolation": "LINEAR",
+          "output": 118
+        },
+        {
+          "input": 116,
+          "interpolation": "LINEAR",
+          "output": 119
+        },
+        {
+          "input": 120,
+          "interpolation": "LINEAR",
+          "output": 121
+        },
+        {
+          "input": 120,
+          "interpolation": "LINEAR",
+          "output": 122
+        },
+        {
+          "input": 120,
+          "interpolation": "LINEAR",
+          "output": 123
+        },
+        {
+          "input": 124,
+          "interpolation": "LINEAR",
+          "output": 125
+        },
+        {
+          "input": 124,
+          "interpolation": "LINEAR",
+          "output": 126
+        },
+        {
+          "input": 124,
+          "interpolation": "LINEAR",
+          "output": 127
+        }
+      ]
+    }
+  ],
+  "skins": [
+    {
+      "inverseBindMatrices": 128,
+      "skeleton": 2,
+      "joints": [
+        2,
+        3,
+        18,
+        19,
+        32,
+        33,
+        26,
+        27,
+        28,
+        29,
+        30,
+        31,
+        20,
+        21,
+        22,
+        23,
+        24,
+        25,
+        8,
+        9,
+        10,
+        11,
+        12,
+        13,
+        14,
+        15,
+        16,
+        17,
+        4,
+        5,
+        6,
+        7
+      ],
+      "name": "Armature"
+    }
+  ],
+  "accessors": [
+    {
+      "bufferView": 0,
+      "byteOffset": 0,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 0,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        688.0629272460938,
+        119.62960052490236,
+        436.8377075195313
+      ],
+      "min": [
+        688.0629272460938,
+        119.62960052490236,
+        436.8377075195313
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 0,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.38738954067230225,
+        0.5915361642837524,
+        0.5915565490722656,
+        -0.3873957097530365
+      ],
+      "min": [
+        0.38738954067230225,
+        0.5915361642837524,
+        0.5915565490722656,
+        -0.3873957097530365
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 1212,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000003576278689,
+        1.0000003576278689,
+        1
+      ],
+      "min": [
+        1.0000003576278689,
+        1.0000003576278689,
+        1
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 404,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 2424,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.00003051759995287284,
+        142.05380249023438,
+        0.00001525879997643642
+      ],
+      "min": [
+        -0.00003051759995287284,
+        142.05380249023438,
+        0.00001525879997643642
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 1616,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.07529418170452118,
+        0.08668317645788193,
+        0.932952642440796,
+        0.4080679714679718
+      ],
+      "min": [
+        -0.05637124180793762,
+        -0.08988404273986816,
+        0.9125778675079346,
+        0.3448300063610077
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 3636,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.000001311302185,
+        1.0000009536743164,
+        1.0000007152557373
+      ],
+      "min": [
+        0.9999995827674866,
+        0.9999996423721313,
+        0.999998927116394
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 808,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 4848,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        399.22900390625,
+        -0.3109740912914276,
+        0.033753398805856705
+      ],
+      "min": [
+        399.1907958984375,
+        -0.3193970024585724,
+        -0.04251528158783913
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 3232,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.04481140524148941,
+        0.09621309489011765,
+        -0.045223530381917953,
+        -0.9873183369636536
+      ],
+      "min": [
+        -0.053839169442653656,
+        -0.10072088241577148,
+        -0.1102677807211876,
+        -0.99887216091156
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 6060,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000004768371584,
+        1.0000009536743164,
+        1.000001072883606
+      ],
+      "min": [
+        0.9999988675117492,
+        0.9999989867210388,
+        0.999999225139618
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 1212,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 7272,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        402.6142883300781,
+        -0.1111449971795082,
+        0.005645751953125
+      ],
+      "min": [
+        402.5600891113281,
+        -0.13861079514026645,
+        -0.010498049668967724
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 4848,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.02916480414569378,
+        0.13094335794448853,
+        0.3312646150588989,
+        -0.9394612908363342
+      ],
+      "min": [
+        -0.029069917276501656,
+        -0.1322847604751587,
+        0.12861666083335876,
+        -0.9855769276618958
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 8484,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000014305114748,
+        1.0000007152557373,
+        1.0000009536743164
+      ],
+      "min": [
+        0.9999995231628418,
+        0.999998927116394,
+        0.9999986886978148
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 1616,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 9696,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        181.7324981689453,
+        0.0016784670297056437,
+        0.0021362300030887127
+      ],
+      "min": [
+        181.7321929931641,
+        0.0012207030085846782,
+        0.0019226069562137127
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 6464,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.11948085576295853,
+        0.2178236693143845,
+        0.75827956199646,
+        -0.6160333156585693
+      ],
+      "min": [
+        -0.22238001227378848,
+        -0.1477964818477631,
+        0.6617863774299622,
+        -0.7142592668533325
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 10908,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000007152557373,
+        1.0000011920928955,
+        1.0000008344650269
+      ],
+      "min": [
+        0.9999991059303284,
+        0.9999993443489076,
+        0.9999991655349731
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 2020,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 12120,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.00003051759995287284,
+        345.13958740234375,
+        0.00006103519990574569
+      ],
+      "min": [
+        -0.00003051759995287284,
+        345.13958740234375,
+        0.00006103519990574569
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 8080,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.000013882177881896496,
+        -0.00001729086579871364,
+        -0.7070866823196411,
+        -0.707126796245575
+      ],
+      "min": [
+        -0.000013882177881896496,
+        -0.00001729086579871364,
+        -0.7070866823196411,
+        -0.707126796245575
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 13332,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.9999998807907104,
+        1,
+        1
+      ],
+      "min": [
+        0.9999998807907104,
+        1,
+        1
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 2424,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 14544,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        11.093509674072266,
+        2.570708990097046,
+        43.12179946899414
+      ],
+      "min": [
+        -11.20617961883545,
+        -2.25006103515625,
+        41.65719985961914
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 9696,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.4268832206726074,
+        0.019551457837224007,
+        -0.004996071103960276,
+        -0.6169269680976868
+      ],
+      "min": [
+        -0.7079461216926575,
+        -0.4286864697933197,
+        -0.49198582768440247,
+        -0.8074727654457092
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 15756,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000008344650269,
+        1.0000017881393433,
+        1.0000014305114748
+      ],
+      "min": [
+        0.9999987483024596,
+        0.9999995231628418,
+        1.0000001192092896
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 2828,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 16968,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.0001220699996338226,
+        175.07080078125,
+        -0.00006103519990574569
+      ],
+      "min": [
+        -0.0001220699996338226,
+        175.07080078125,
+        -0.00006103519990574569
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 11312,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.5104442834854126,
+        0.7555050253868103,
+        0.02008049003779888,
+        -0.6120374202728271
+      ],
+      "min": [
+        0.19047075510025024,
+        0.03135303780436516,
+        -0.38879379630088806,
+        -0.9229499697685242
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 18180,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000011920928955,
+        1.0000003576278689,
+        1.000001311302185
+      ],
+      "min": [
+        0.9999988079071044,
+        0.9999983906745912,
+        0.9999996423721313
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 3232,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 19392,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0,
+        370.0173034667969,
+        -0.00001525879997643642
+      ],
+      "min": [
+        0,
+        370.0173034667969,
+        -0.00001525879997643642
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 12928,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.6011126041412354,
+        0.07422994822263718,
+        0.5760638117790222,
+        -0.5518321394920349
+      ],
+      "min": [
+        0.3708510994911194,
+        0.04792150110006333,
+        0.35539764165878296,
+        -0.8547816872596741
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 20604,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.9999999403953552,
+        1.0000016689300537,
+        1.0000005960464478
+      ],
+      "min": [
+        0.9999990463256836,
+        0.9999995827674866,
+        0.9999995231628418
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 3636,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 21816,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.00006103519990574569,
+        370.0169982910156,
+        0.000003814699994109105
+      ],
+      "min": [
+        -0.00006103519990574569,
+        370.0169982910156,
+        0.000003814699994109105
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 14544,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.12159590423107149,
+        -0.592817485332489,
+        0.08611587435007095,
+        -0.6480545401573181
+      ],
+      "min": [
+        -0.00192063394933939,
+        -0.6926255822181702,
+        -0.40358710289001465,
+        -0.7833981513977051
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 23028,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000011920928955,
+        0.9999997615814208,
+        1.0000003576278689
+      ],
+      "min": [
+        0.9999992847442628,
+        0.9999983906745912,
+        0.9999982714653016
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 4040,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 24240,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.00003051759995287284,
+        186.6938018798828,
+        0.00006103519990574569
+      ],
+      "min": [
+        0.00003051759995287284,
+        186.6938018798828,
+        0.00006103519990574569
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 16160,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.1426013708114624,
+        0.6280872225761414,
+        0.4596095085144043,
+        -0.6589219570159912
+      ],
+      "min": [
+        0.03574331104755402,
+        0.5803614258766174,
+        -0.2317095398902893,
+        -0.7778217792510986
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 25452,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000030994415283,
+        1.0000008344650269,
+        1.0000015497207642
+      ],
+      "min": [
+        0.9999990463256836,
+        0.999998152256012,
+        0.9999975562095642
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 4444,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 26664,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0,
+        167.76199340820312,
+        0
+      ],
+      "min": [
+        0,
+        167.76199340820312,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 17776,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.1871013194322586,
+        -0.18708844482898712,
+        -0.6819262504577637,
+        -0.6818854212760925
+      ],
+      "min": [
+        -0.1871013194322586,
+        -0.18708844482898712,
+        -0.6819262504577637,
+        -0.6818854212760925
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 27876,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.9999998211860656,
+        1.0000001192092896,
+        1.0000001192092896
+      ],
+      "min": [
+        0.9999998211860656,
+        1.0000001192092896,
+        1.0000001192092896
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 4848,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 29088,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        11.20654010772705,
+        2.539275884628296,
+        -41.65724182128906
+      ],
+      "min": [
+        -11.0931396484375,
+        -2.281677007675171,
+        -43.12186050415039
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 19392,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.708706259727478,
+        0.41781315207481384,
+        0.0004008882970083505,
+        -0.6171950101852417
+      ],
+      "min": [
+        0.4269197881221771,
+        -0.01864606700837612,
+        -0.4820735454559326,
+        -0.8132827877998352
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 30300,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.000001072883606,
+        1.0000005960464478,
+        1.0000015497207642
+      ],
+      "min": [
+        0.999998927116394,
+        0.9999989867210388,
+        0.9999997615814208
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 5252,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 31512,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.0001220699996338226,
+        175.07159423828125,
+        0
+      ],
+      "min": [
+        -0.0001220699996338226,
+        175.07159423828125,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 21008,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.1727268248796463,
+        -0.026490267366170883,
+        -0.014631116762757301,
+        -0.6249508857727051
+      ],
+      "min": [
+        -0.5201117992401123,
+        -0.7482331395149231,
+        -0.36269164085388184,
+        -0.9203588366508484
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 32724,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1,
+        1.000001311302185,
+        1.0000009536743164
+      ],
+      "min": [
+        0.9999985098838806,
+        0.9999992847442628,
+        0.999998927116394
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 5656,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 33936,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0,
+        370.0174865722656,
+        -0.00006103519990574569
+      ],
+      "min": [
+        0,
+        370.0174865722656,
+        -0.00006103519990574569
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 22624,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.37085387110710144,
+        -0.045981407165527344,
+        0.586089015007019,
+        -0.5294864177703857
+      ],
+      "min": [
+        -0.6115797162055969,
+        -0.07423046976327896,
+        0.3553973138332367,
+        -0.8547807335853577
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 35148,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000003576278689,
+        1.0000014305114748,
+        1.0000005960464478
+      ],
+      "min": [
+        0.9999993443489076,
+        0.999999701976776,
+        0.999999463558197
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 6060,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 36360,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.000022888199964654632,
+        370.0172119140625,
+        0.00001525879997643642
+      ],
+      "min": [
+        0.000022888199964654632,
+        370.0172119140625,
+        0.00001525879997643642
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 24240,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.031680915504693985,
+        0.7147775292396545,
+        0.0212766844779253,
+        -0.649734377861023
+      ],
+      "min": [
+        -0.10804452747106552,
+        0.5687218904495239,
+        -0.41146859526634216,
+        -0.7937191724777222
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 37572,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000008344650269,
+        0.9999993443489076,
+        1.0000011920928955
+      ],
+      "min": [
+        0.999998927116394,
+        0.9999974966049194,
+        0.9999998211860656
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 6464,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 38784,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.00003051759995287284,
+        186.69309997558597,
+        0.00006103519990574569
+      ],
+      "min": [
+        -0.00003051759995287284,
+        186.69309997558597,
+        0.00006103519990574569
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 25856,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.03588018566370011,
+        -0.5803508758544922,
+        0.4588881731033325,
+        -0.6592705845832825
+      ],
+      "min": [
+        -0.1426122784614563,
+        -0.6280779242515564,
+        -0.23170490562915805,
+        -0.777829110622406
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 39996,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000035762786865,
+        1.000001311302185,
+        1.0000022649765017
+      ],
+      "min": [
+        0.9999989867210388,
+        0.9999991655349731,
+        0.9999974966049194
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 6868,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 41208,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.0001220699996338226,
+        167.7602996826172,
+        0
+      ],
+      "min": [
+        0.0001220699996338226,
+        167.7602996826172,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 27472,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.187080055475235,
+        0.1870990693569183,
+        0.681887686252594,
+        -0.6819267868995667
+      ],
+      "min": [
+        -0.187080055475235,
+        0.1870990693569183,
+        0.681887686252594,
+        -0.6819267868995667
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 42420,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1,
+        0.9999998211860656,
+        0.9999998211860656
+      ],
+      "min": [
+        1,
+        0.9999998211860656,
+        0.9999998211860656
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 7272,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 43632,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -64.18634033203125,
+        123.89099884033205,
+        -121.35540008544922
+      ],
+      "min": [
+        -122.68409729003906,
+        86.45635986328125,
+        -181.9196929931641
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 29088,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.5137400031089783,
+        0.5910477638244629,
+        0.487165242433548,
+        -0.5562912821769714
+      ],
+      "min": [
+        0.23582802712917328,
+        0.4349341094493866,
+        0.06352268159389496,
+        -0.7825927138328552
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 44844,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000014305114748,
+        1.0000009536743164,
+        1.0000015497207642
+      ],
+      "min": [
+        0.9999995827674866,
+        0.9999990463256836,
+        0.9999997615814208
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 7676,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 46056,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.00001525879997643642,
+        547.8192138671875,
+        0
+      ],
+      "min": [
+        -0.00001525879997643642,
+        547.8192138671875,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 30704,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.7711299061775208,
+        -0.20974168181419373,
+        -0.2102062702178955,
+        0.7666990160942078
+      ],
+      "min": [
+        0.5196718573570251,
+        -0.3129318058490753,
+        -0.31192100048065186,
+        0.5138788223266602
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 47268,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1,
+        1.0000008344650269,
+        1.0000003576278689
+      ],
+      "min": [
+        0.9999988079071044,
+        0.9999983906745912,
+        0.9999988079071044
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 8080,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 48480,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.00003051759995287284,
+        532.7470703125,
+        0.00003051759995287284
+      ],
+      "min": [
+        0.00003051759995287284,
+        532.7470703125,
+        0.00003051759995287284
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 32320,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.7953221201896667,
+        -0.3406173884868622,
+        0.02482849918305874,
+        -0.4618827700614929
+      ],
+      "min": [
+        0.4422449469566345,
+        -0.6381375789642334,
+        -0.06888411939144135,
+        -0.7050687074661255
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 49692,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.000000238418579,
+        1.0000009536743164,
+        1.000000238418579
+      ],
+      "min": [
+        0.9999983906745912,
+        0.999999225139618,
+        0.999998152256012
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 8484,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 50904,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.00001525879997643642,
+        286.180908203125,
+        -0.00001525879997643642
+      ],
+      "min": [
+        -0.00001525879997643642,
+        286.180908203125,
+        -0.00001525879997643642
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 33936,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.3434250056743622,
+        -0.36089563369750977,
+        0.4812218248844147,
+        -0.702274739742279
+      ],
+      "min": [
+        -0.055049605667591095,
+        -0.4634150564670563,
+        0.027654040604829788,
+        -0.9122520089149476
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 52116,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.000001072883606,
+        1.0000007152557373,
+        1.0000005960464478
+      ],
+      "min": [
+        0.9999991655349731,
+        0.9999993443489076,
+        0.9999993443489076
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 8888,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 53328,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0,
+        166.96910095214844,
+        0.00003051759995287284
+      ],
+      "min": [
+        0,
+        166.96910095214844,
+        0.00003051759995287284
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 35552,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.7009878754615784,
+        0.7009936571121216,
+        -0.0927930474281311,
+        -0.09280822426080704
+      ],
+      "min": [
+        0.7009878754615784,
+        0.7009936571121216,
+        -0.0927930474281311,
+        -0.09280822426080704
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 54540,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1,
+        1,
+        0.9999997615814208
+      ],
+      "min": [
+        1,
+        1,
+        0.9999997615814208
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 9292,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 55752,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -57.822750091552734,
+        125.41190338134766,
+        183.63040161132812
+      ],
+      "min": [
+        -117.2886962890625,
+        87.447509765625,
+        124.98169708251952
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 37168,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.226774200797081,
+        -0.4451811611652374,
+        0.49656349420547485,
+        -0.551270604133606
+      ],
+      "min": [
+        -0.5029988884925842,
+        -0.6104490756988525,
+        0.05997595936059952,
+        -0.7728594541549683
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 56964,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.000001072883606,
+        1.0000029802322388,
+        1.0000004768371584
+      ],
+      "min": [
+        0.999997854232788,
+        1.0000003576278689,
+        0.9999984502792358
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 9696,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 58176,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.00005722049900214188,
+        547.8187866210938,
+        -0.00006103519990574569
+      ],
+      "min": [
+        0.00005722049900214188,
+        547.8187866210938,
+        -0.00006103519990574569
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 38784,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.7720406651496887,
+        -0.2091859132051468,
+        0.3122869431972504,
+        -0.5125147700309753
+      ],
+      "min": [
+        0.5071884989738464,
+        -0.31631752848625183,
+        0.2051556557416916,
+        -0.7749928832054138
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 59388,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000008344650269,
+        1.0000015497207642,
+        0.9999998211860656
+      ],
+      "min": [
+        0.9999997615814208,
+        0.9999995231628418,
+        0.999998152256012
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 10100,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 60600,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.00003051759995287284,
+        532.7479248046875,
+        0.00003051759995287284
+      ],
+      "min": [
+        -0.00003051759995287284,
+        532.7479248046875,
+        0.00003051759995287284
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 40400,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.4422548413276673,
+        0.6402692198753357,
+        0.02487970888614655,
+        -0.443508505821228
+      ],
+      "min": [
+        -0.8058043718338013,
+        0.33987849950790405,
+        -0.06919090449810028,
+        -0.7087214589118958
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 61812,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000015497207642,
+        1.000002145767212,
+        1.0000017881393433
+      ],
+      "min": [
+        0.9999986886978148,
+        0.999999463558197,
+        0.9999991059303284
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 10504,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 63024,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -0.000045776399929309264,
+        286.1813049316406,
+        0.00003051759995287284
+      ],
+      "min": [
+        -0.000045776399929309264,
+        286.1813049316406,
+        0.00003051759995287284
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 42016,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.05504757910966873,
+        0.4637857675552368,
+        0.4812243282794953,
+        -0.702268123626709
+      ],
+      "min": [
+        -0.34342628717422485,
+        0.3424416780471802,
+        0.027664778754115105,
+        -0.9120306372642516
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 64236,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000009536743164,
+        1.0000009536743164,
+        1.0000005960464478
+      ],
+      "min": [
+        0.9999988079071044,
+        0.9999990463256836,
+        0.9999987483024596
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 10908,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 65448,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.00006103519990574569,
+        166.9678955078125,
+        -0.000007629389983776491
+      ],
+      "min": [
+        0.00006103519990574569,
+        166.9678955078125,
+        -0.000007629389983776491
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 43632,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.7009931206703186,
+        -0.7009892463684082,
+        0.09279564023017885,
+        -0.09279832988977432
+      ],
+      "min": [
+        0.7009931206703186,
+        -0.7009892463684082,
+        0.09279564023017885,
+        -0.09279832988977432
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 66660,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.9999998211860656,
+        0.9999998211860656,
+        0.9999998807907104
+      ],
+      "min": [
+        0.9999998211860656,
+        0.9999998211860656,
+        0.9999998807907104
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 11312,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 67872,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        -216.10679626464844,
+        76.14642333984375,
+        53.84222030639649
+      ],
+      "min": [
+        -229.81809997558597,
+        48.92041015625,
+        -46.19350051879883
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 45248,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.1075008511543274,
+        0.04972844943404198,
+        -0.5993947386741638,
+        -0.7506681680679321
+      ],
+      "min": [
+        -0.1541447639465332,
+        -0.08161687850952148,
+        -0.6573381423950195,
+        -0.7955794930458069
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 69084,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.0000011920928955,
+        1.0000014305114748,
+        1.0000009536743164
+      ],
+      "min": [
+        0.9999996423721313,
+        0.9999993443489076,
+        0.9999991059303284
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 11716,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 70296,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.00006103519990574569,
+        275.1336975097656,
+        -0.00001525879997643642
+      ],
+      "min": [
+        0.00006103519990574569,
+        275.1336975097656,
+        -0.00001525879997643642
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 46864,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.03935514762997627,
+        0.004996879026293755,
+        -0.12579287588596344,
+        -0.991262674331665
+      ],
+      "min": [
+        -0.02954175136983395,
+        -0.0037506259977817535,
+        -0.12589138746261597,
+        -0.9920437335968018
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 71508,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.999998927116394,
+        1,
+        1.0000004768371584
+      ],
+      "min": [
+        0.9999986290931702,
+        0.9999982118606568,
+        0.999998927116394
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 12120,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 72720,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0,
+        339.0889892578125,
+        -0.000007629389983776491
+      ],
+      "min": [
+        0,
+        339.0889892578125,
+        -0.000007629389983776491
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 48480,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.000001511155801381392,
+        3.055855870570668e-7,
+        -0.11349041759967804,
+        -0.9935391545295716
+      ],
+      "min": [
+        0.000001511155801381392,
+        3.055855870570668e-7,
+        -0.11349041759967804,
+        -0.9935391545295716
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 73932,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        1.000000238418579,
+        1.0000003576278689,
+        1
+      ],
+      "min": [
+        1.000000238418579,
+        1.0000003576278689,
+        1
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 12524,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        3.333329916000366
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 75144,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.0006713870097883046,
+        374.18951416015625,
+        0.00009918209980241954
+      ],
+      "min": [
+        0.0006713870097883046,
+        374.18951416015625,
+        0.00009918209980241954
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 50096,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.0003971835249103606,
+        0.9999987483024596,
+        8.442460170954291e-7,
+        -1.539886227419629e-7
+      ],
+      "min": [
+        0.0003971835249103606,
+        0.9999987483024596,
+        8.442460170954291e-7,
+        -1.539886227419629e-7
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 76356,
+      "componentType": 5126,
+      "count": 101,
+      "max": [
+        0.9999920725822448,
+        0.9999988079071044,
+        0.9999998807907104
+      ],
+      "min": [
+        0.9999920725822448,
+        0.9999988079071044,
+        0.9999998807907104
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 3,
+      "byteOffset": 0,
+      "componentType": 5126,
+      "count": 32,
+      "max": [
+        35.94837188720703,
+        38.693748474121094,
+        39.37007141113281,
+        0,
+        38.920310974121094,
+        39.36032104492188,
+        30.0275993347168,
+        0,
+        39.36032104492188,
+        38.83974075317383,
+        38.96176910400391,
+        0,
+        1156.1031494140625,
+        956.5531616210938,
+        723.311279296875,
+        1
+      ],
+      "min": [
+        -35.94831848144531,
+        -38.47134017944336,
+        -39.37007141113281,
+        0,
+        -38.92031860351563,
+        -38.919979095458984,
+        -30.0275993347168,
+        0,
+        -39.35961151123047,
+        -38.88496017456055,
+        -38.82202911376953,
+        0,
+        -1445.9603271484375,
+        -1100.780517578125,
+        -619.783203125,
+        1
+      ],
+      "type": "MAT4"
+    },
+    {
+      "componentType": 5123,
+      "count": 2652,
+      "max": [
+        779
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "componentType": 5123,
+      "count": 780,
+      "max": [
+        30,
+        30,
+        29,
+        24
+      ],
+      "min": [
+        0,
+        0,
+        0,
+        0
+      ],
+      "type": "VEC4"
+    },
+    {
+      "componentType": 5126,
+      "count": 780,
+      "max": [
+        0.9988760948181152,
+        0.9998818039894104,
+        0.9998157024383544
+      ],
+      "min": [
+        -0.9988760948181152,
+        -0.9980313777923584,
+        -0.9998273253440856
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5126,
+      "count": 780,
+      "max": [
+        7.313104152679443,
+        25.41493034362793,
+        33.43614959716797
+      ],
+      "min": [
+        -15.45071029663086,
+        -33.22121047973633,
+        -1.280419945716858
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5126,
+      "count": 780,
+      "max": [
+        1.0096100568771365,
+        0.9916410446166992
+      ],
+      "min": [
+        0.005085945129394531,
+        -0.07434999942779541
+      ],
+      "type": "VEC2"
+    },
+    {
+      "componentType": 5126,
+      "count": 780,
+      "max": [
+        1,
+        0.9999979734420776,
+        0.9997379779815674,
+        0.9927020072937012
+      ],
+      "min": [
+        0.0000019999999949504854,
+        0,
+        0,
+        0
+      ],
+      "type": "VEC4"
+    }
+  ],
+  "materials": [
+    {
+      "pbrMetallicRoughness": {
+        "baseColorTexture": {
+          "index": 0
+        },
+        "metallicFactor": 0
+      },
+      "emissiveFactor": [
+        0,
+        0,
+        0
+      ],
+      "name": "monster-effect"
+    }
+  ],
+  "textures": [
+    {
+      "sampler": 0,
+      "source": 0
+    }
+  ],
+  "images": [
+    {
+      "uri": "Monster.jpg"
+    }
+  ],
+  "samplers": [
+    {
+      "magFilter": 9729,
+      "minFilter": 9986,
+      "wrapS": 10497,
+      "wrapT": 10497
+    }
+  ],
+  "bufferViews": [
+    {
+      "buffer": 0,
+      "byteOffset": 0,
+      "byteLength": 12928
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 12928,
+      "byteLength": 77568
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 90496,
+      "byteLength": 51712
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 142208,
+      "byteLength": 2048
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 144256,
+      "byteLength": 8129
+    }
+  ],
+  "buffers": [
+    {
+      "byteLength": 152385,
+      "uri": "0.bin"
+    }
+  ],
+  "extensionsRequired": [
+    "KHR_draco_mesh_compression"
+  ],
+  "extensionsUsed": [
+    "KHR_draco_mesh_compression"
+  ]
+}

BIN
examples/models/gltf/Monster/glTF-Draco/Monster.jpg


BIN
examples/models/gltf/RiggedSimple/glTF-Draco/0.bin


+ 518 - 0
examples/models/gltf/RiggedSimple/glTF-Draco/RiggedSimple.gltf

@@ -0,0 +1,518 @@
+{
+  "asset": {
+    "generator": "COLLADA2GLTF",
+    "version": "2.0"
+  },
+  "scene": 0,
+  "scenes": [
+    {
+      "nodes": [
+        0
+      ]
+    }
+  ],
+  "nodes": [
+    {
+      "children": [
+        4,
+        1
+      ],
+      "matrix": [
+        1,
+        0,
+        0,
+        0,
+        0,
+        0,
+        -1,
+        0,
+        0,
+        1,
+        0,
+        0,
+        0,
+        0,
+        0,
+        1
+      ]
+    },
+    {
+      "mesh": 0,
+      "skin": 0
+    },
+    {
+      "children": [
+        3
+      ],
+      "translation": [
+        0,
+        -3.156060017772689e-7,
+        -4.1803297996521
+      ],
+      "rotation": [
+        -0.7047404050827026,
+        0,
+        0,
+        -0.7094652056694031
+      ],
+      "scale": [
+        1,
+        0.9999998807907104,
+        0.9999998807907104
+      ]
+    },
+    {
+      "translation": [
+        0,
+        4.18717098236084,
+        0
+      ],
+      "rotation": [
+        -0.0020521103870123625,
+        -9.947898149675895e-8,
+        -0.00029137087403796613,
+        -0.999997854232788
+      ],
+      "scale": [
+        1,
+        1,
+        1.0000001192092896
+      ]
+    },
+    {
+      "children": [
+        2
+      ]
+    }
+  ],
+  "meshes": [
+    {
+      "primitives": [
+        {
+          "attributes": {
+            "JOINTS_0": 10,
+            "NORMAL": 11,
+            "POSITION": 12,
+            "WEIGHTS_0": 13
+          },
+          "indices": 9,
+          "mode": 4,
+          "material": 0,
+          "extensions": {
+            "KHR_draco_mesh_compression": {
+              "bufferView": 4,
+              "attributes": {
+                "JOINTS_0": 0,
+                "NORMAL": 1,
+                "POSITION": 2,
+                "WEIGHTS_0": 3
+              }
+            }
+          }
+        }
+      ],
+      "name": "Cylinder"
+    }
+  ],
+  "animations": [
+    {
+      "channels": [
+        {
+          "sampler": 0,
+          "target": {
+            "node": 2,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 1,
+          "target": {
+            "node": 2,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 2,
+          "target": {
+            "node": 2,
+            "path": "scale"
+          }
+        },
+        {
+          "sampler": 3,
+          "target": {
+            "node": 3,
+            "path": "translation"
+          }
+        },
+        {
+          "sampler": 4,
+          "target": {
+            "node": 3,
+            "path": "rotation"
+          }
+        },
+        {
+          "sampler": 5,
+          "target": {
+            "node": 3,
+            "path": "scale"
+          }
+        }
+      ],
+      "samplers": [
+        {
+          "input": 0,
+          "interpolation": "LINEAR",
+          "output": 1
+        },
+        {
+          "input": 0,
+          "interpolation": "LINEAR",
+          "output": 2
+        },
+        {
+          "input": 0,
+          "interpolation": "LINEAR",
+          "output": 3
+        },
+        {
+          "input": 4,
+          "interpolation": "LINEAR",
+          "output": 5
+        },
+        {
+          "input": 4,
+          "interpolation": "LINEAR",
+          "output": 6
+        },
+        {
+          "input": 4,
+          "interpolation": "LINEAR",
+          "output": 7
+        }
+      ]
+    }
+  ],
+  "skins": [
+    {
+      "inverseBindMatrices": 8,
+      "skeleton": 2,
+      "joints": [
+        2,
+        3
+      ],
+      "name": "Armature"
+    }
+  ],
+  "accessors": [
+    {
+      "bufferView": 0,
+      "byteOffset": 0,
+      "componentType": 5126,
+      "count": 3,
+      "max": [
+        2.083333015441895
+      ],
+      "min": [
+        0.04166661947965622
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 0,
+      "componentType": 5126,
+      "count": 3,
+      "max": [
+        0,
+        -3.156060017772689e-7,
+        -4.1803297996521
+      ],
+      "min": [
+        0,
+        -3.156060017772689e-7,
+        -4.1803297996521
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 0,
+      "componentType": 5126,
+      "count": 3,
+      "max": [
+        -0.7047404050827026,
+        0,
+        0,
+        -0.7094652056694031
+      ],
+      "min": [
+        -0.7047404050827026,
+        0,
+        0,
+        -0.7094652056694031
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 36,
+      "componentType": 5126,
+      "count": 3,
+      "max": [
+        1,
+        0.9999998807907104,
+        0.9999998807907104
+      ],
+      "min": [
+        1,
+        0.9999998807907104,
+        0.9999998807907104
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 0,
+      "byteOffset": 12,
+      "componentType": 5126,
+      "count": 3,
+      "max": [
+        2.083333015441895
+      ],
+      "min": [
+        0.04166661947965622
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 72,
+      "componentType": 5126,
+      "count": 3,
+      "max": [
+        0,
+        4.18717098236084,
+        0
+      ],
+      "min": [
+        0,
+        4.18717098236084,
+        0
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 2,
+      "byteOffset": 48,
+      "componentType": 5126,
+      "count": 3,
+      "max": [
+        0.2933785021305084,
+        -9.947898149675895e-8,
+        -0.0002783441450446844,
+        -0.9559963345527648
+      ],
+      "min": [
+        -0.0020521103870123625,
+        -0.00008614854596089572,
+        -0.00029137087403796613,
+        -0.999997854232788
+      ],
+      "type": "VEC4"
+    },
+    {
+      "bufferView": 1,
+      "byteOffset": 108,
+      "componentType": 5126,
+      "count": 3,
+      "max": [
+        1,
+        1,
+        1.0000001192092896
+      ],
+      "min": [
+        1,
+        1,
+        1.0000001192092896
+      ],
+      "type": "VEC3"
+    },
+    {
+      "bufferView": 3,
+      "byteOffset": 0,
+      "componentType": 5126,
+      "count": 2,
+      "max": [
+        1,
+        0,
+        0.0000013948100558991428,
+        0,
+        0.000002896920022976701,
+        0.006681859027594328,
+        -0.9999778270721436,
+        0,
+        0.0005827349959872663,
+        0.9999966025352478,
+        0.006681739818304777,
+        0,
+        0,
+        4.18023681640625,
+        0.02795993909239769,
+        1
+      ],
+      "min": [
+        0.9999998807907104,
+        -0.0005827400018461049,
+        0,
+        0,
+        0,
+        0.002577662002295256,
+        -0.9999967217445374,
+        0,
+        0,
+        0.999977707862854,
+        0.002577601931989193,
+        0,
+        -0.000004012620138382772,
+        -0.006818830035626888,
+        0.027931740507483482,
+        1
+      ],
+      "type": "MAT4"
+    },
+    {
+      "componentType": 5123,
+      "count": 564,
+      "max": [
+        95
+      ],
+      "min": [
+        0
+      ],
+      "type": "SCALAR"
+    },
+    {
+      "componentType": 5123,
+      "count": 96,
+      "max": [
+        1,
+        1,
+        0,
+        0
+      ],
+      "min": [
+        0,
+        0,
+        0,
+        0
+      ],
+      "type": "VEC4"
+    },
+    {
+      "componentType": 5126,
+      "count": 96,
+      "max": [
+        0.998198390007019,
+        0.998198390007019,
+        0.6888381242752075
+      ],
+      "min": [
+        -0.998198390007019,
+        -0.998198390007019,
+        -0.6444730758666992
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5126,
+      "count": 96,
+      "max": [
+        1,
+        1,
+        4.575077056884766
+      ],
+      "min": [
+        -1,
+        -0.9999995827674866,
+        -4.575077056884766
+      ],
+      "type": "VEC3"
+    },
+    {
+      "componentType": 5126,
+      "count": 96,
+      "max": [
+        1,
+        0.26139819622039795,
+        0,
+        0
+      ],
+      "min": [
+        0.738601803779602,
+        0,
+        0,
+        0
+      ],
+      "type": "VEC4"
+    }
+  ],
+  "materials": [
+    {
+      "pbrMetallicRoughness": {
+        "baseColorFactor": [
+          0.27963539958000183,
+          0.6399999856948853,
+          0.21094389259815216,
+          1
+        ],
+        "metallicFactor": 0
+      },
+      "emissiveFactor": [
+        0,
+        0,
+        0
+      ],
+      "name": "Material_001-effect"
+    }
+  ],
+  "bufferViews": [
+    {
+      "buffer": 0,
+      "byteOffset": 0,
+      "byteLength": 24
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 24,
+      "byteLength": 144
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 168,
+      "byteLength": 96
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 264,
+      "byteLength": 128
+    },
+    {
+      "buffer": 0,
+      "byteOffset": 392,
+      "byteLength": 1008
+    }
+  ],
+  "buffers": [
+    {
+      "byteLength": 1400,
+      "uri": "0.bin"
+    }
+  ],
+  "extensionsRequired": [
+    "KHR_draco_mesh_compression"
+  ],
+  "extensionsUsed": [
+    "KHR_draco_mesh_compression"
+  ]
+}

+ 3 - 0
examples/webgl_loader_draco.html

@@ -90,6 +90,9 @@
 				mesh.receiveShadow = true;
 				scene.add( mesh );
 
+				// Release decoder resources.
+				THREE.DRACOLoader.releaseDecoderModule();
+
 			} );
 
 			// renderer

+ 15 - 10
examples/webgl_loader_gltf_extensions.html

@@ -90,11 +90,13 @@
 				<option value="glTF-Embedded">None (Embedded)</option>
 				<option value="glTF-Binary">None (Binary)</option>
 				<option value="glTF-pbrSpecularGlossiness">Specular-Glossiness (PBR)</option>
+				<option value="glTF-Draco">Draco (Compressed)</option>
 			</select>
 		</div>
 	</div>
 		<script src="../build/three.js"></script>
 		<script src="js/controls/OrbitControls.js"></script>
+		<script src="js/loaders/draco/DRACOLoader.js"></script>
 		<script src="js/loaders/GLTFLoader.js"></script>
 
 		<script>
@@ -204,6 +206,9 @@
 
 				loader = new THREE.GLTFLoader();
 
+				THREE.DRACOLoader.setDecoderPath( 'js/loaders/draco/gltf/' );
+				loader.setDRACOLoader( new THREE.DRACOLoader() );
+
 				for (var i = 0; i < extensionSelect.children.length; i++) {
 					var child = extensionSelect.children[i];
 					child.disabled = sceneInfo.extensions.indexOf(child.value) === -1;
@@ -445,7 +450,7 @@
 					addLights:true,
 					addGround:true,
 					shadows:true,
-					extensions: ['glTF', 'glTF-Embedded', 'glTF-pbrSpecularGlossiness', 'glTF-Binary']
+					extensions: ['glTF', 'glTF-Embedded', 'glTF-pbrSpecularGlossiness', 'glTF-Binary', 'glTF-Draco']
 				},
 				{
 					name : "Monster", url : "./models/gltf/Monster/%s/Monster.gltf",
@@ -457,16 +462,16 @@
 					addLights:true,
 					shadows:true,
 					addGround:true,
-					extensions: ['glTF', 'glTF-Embedded', 'glTF-pbrSpecularGlossiness', 'glTF-Binary']
+					extensions: ['glTF', 'glTF-Embedded', 'glTF-pbrSpecularGlossiness', 'glTF-Binary', 'glTF-Draco']
 				},
 				{
 					name : "Cesium Man", url : "./models/gltf/CesiumMan/%s/CesiumMan.gltf",
-					 cameraPos: new THREE.Vector3(0, 3, 10),
-					 objectRotation: new THREE.Euler(0, 0, 0),
-					 addLights:true,
-					 addGround:true,
-					 shadows:true,
-					extensions: ['glTF', 'glTF-Embedded', 'glTF-pbrSpecularGlossiness', 'glTF-Binary']
+					cameraPos: new THREE.Vector3(0, 3, 10),
+					objectRotation: new THREE.Euler(0, 0, 0),
+					addLights:true,
+					addGround:true,
+					shadows:true,
+					extensions: ['glTF', 'glTF-Embedded', 'glTF-pbrSpecularGlossiness', 'glTF-Binary', 'glTF-Draco']
 				},
 				{
 					name : "Cesium Milk Truck",
@@ -475,7 +480,7 @@
 					addLights:true,
 					addGround:true,
 					shadows:true,
-					extensions: ['glTF', 'glTF-Embedded', 'glTF-pbrSpecularGlossiness', 'glTF-Binary']
+					extensions: ['glTF', 'glTF-Embedded', 'glTF-pbrSpecularGlossiness', 'glTF-Binary', 'glTF-Draco']
 				},
 				{
 					name : "Rigged Simple",
@@ -484,7 +489,7 @@
 					objectRotation: new THREE.Euler(0, 90, 0),
 					addLights:true,
 					shadows:true,
-					extensions: ['glTF', 'glTF-Embedded', 'glTF-pbrSpecularGlossiness', 'glTF-Binary']
+					extensions: ['glTF', 'glTF-Embedded', 'glTF-pbrSpecularGlossiness', 'glTF-Binary', 'glTF-Draco']
 				},
 				{
 					name : 'Outlined Box',

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio