var BABYLON;!(function(e){var t;!(function(e){e[e.AUTO=0]="AUTO",e[e.FORCE_RIGHT_HANDED=1]="FORCE_RIGHT_HANDED"})(t=e.GLTFLoaderCoordinateSystemMode||(e.GLTFLoaderCoordinateSystemMode={}));var r;!(function(e){e[e.NONE=0]="NONE",e[e.FIRST=1]="FIRST",e[e.ALL=2]="ALL"})(r=e.GLTFLoaderAnimationStartMode||(e.GLTFLoaderAnimationStartMode={}));var n=(function(){function n(){this.coordinateSystemMode=t.AUTO,this.animationStartMode=r.FIRST,this.compileMaterials=!1,this.useClipPlane=!1,this.compileShadowGenerators=!1,this.name="gltf",this.extensions={".gltf":{isBinary:!1},".glb":{isBinary:!0}}}return n.prototype.dispose=function(){this._loader&&this._loader.dispose()},n.prototype.importMeshAsync=function(t,r,o,a,i,s,l){try{var d=n._parse(o);this.onParsed&&this.onParsed(d),this._loader=this._getLoader(d),this._loader.importMeshAsync(t,r,d,a,i,s,l)}catch(t){l?l(t.message,t):e.Tools.Error(t.message)}},n.prototype.loadAsync=function(t,r,o,a,i,s){try{var l=n._parse(r);this.onParsed&&this.onParsed(l),this._loader=this._getLoader(l),this._loader.loadAsync(t,l,o,a,i,s)}catch(t){s?s(t.message,t):e.Tools.Error(t.message)}},n.prototype.canDirectLoad=function(e){return-1!==e.indexOf("scene")&&-1!==e.indexOf("node")},n.prototype.createPlugin=function(){return new n},n._parse=function(e){return e instanceof ArrayBuffer?n._parseBinary(e):{json:JSON.parse(e),bin:null}},n.prototype._getLoader=function(e){var t={major:2,minor:0},r=e.json.asset||{},o=n._parseVersion(r.version);if(!o)throw new Error("Invalid version: "+r.version);if(void 0!==r.minVersion){var a=n._parseVersion(r.minVersion);if(!a)throw new Error("Invalid minimum version: "+r.minVersion);if(n._compareVersion(a,t)>0)throw new Error("Incompatible minimum version: "+r.minVersion)}var i={1:n.CreateGLTFLoaderV1,2:n.CreateGLTFLoaderV2},s=i[o.major];if(!s)throw new Error("Unsupported version: "+r.version);return s(this)},n._parseBinary=function(e){var t={Magic:1179937895},r=new o(e),a=r.readUint32();if(a!==t.Magic)throw new Error("Unexpected magic: "+a);var i=r.readUint32();switch(i){case 1:return n._parseV1(r);case 2:return n._parseV2(r)}throw new Error("Unsupported version: "+i)},n._parseV1=function(e){var t={JSON:0},r=e.readUint32();if(r!=e.getLength())throw new Error("Length in header does not match actual data length: "+r+" != "+e.getLength());var o,a=e.readUint32(),i=e.readUint32();switch(i){case t.JSON:o=JSON.parse(n._decodeBufferToText(e.readUint8Array(a)));break;default:throw new Error("Unexpected content format: "+i)}var s=e.getLength()-e.getPosition();return{json:o,bin:e.readUint8Array(s)}},n._parseV2=function(e){var t={JSON:1313821514,BIN:5130562},r=e.readUint32();if(r!==e.getLength())throw new Error("Length in header does not match actual data length: "+r+" != "+e.getLength());var o=e.readUint32();if(e.readUint32()!==t.JSON)throw new Error("First chunk format is not JSON");for(var a=JSON.parse(n._decodeBufferToText(e.readUint8Array(o))),i=null;e.getPosition()t.major?1:e.majort.minor?1:e.minort.bin.byteLength)&&e.Tools.Warn("Binary buffer length ("+o.byteLength+") from JSON does not match chunk length ("+t.bin.byteLength+")"),o.loadedData=t.bin}else e.Tools.Warn("Unexpected BIN chunk")}},n.prototype._getMeshes=function(){var e=new Array;e.push(this._rootNode.babylonMesh);var t=this._gltf.nodes;if(t)for(var r=0,n=t;r=0;l--){var d=t.GLTFLoader._GetProperty(e._gltf.nodes,i.ids[l]);if(!d)throw new Error(r+": Failed to find node "+i.ids[l]);e._traverseNode(r,d,o,a)}e._traverseNode(r,n,o,a),s()}))},n.prototype._loadNode=function(e,r,n){var o=this;return this._loadExtension(r,n,(function(r,a,i){for(var s=[n],l=0,d=a.ids;l